Toon posts:

MS-DOS script command

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil/ben bezig met een bat script te maken voor een eenmalig loginscript. Het heeft te maken met een aantal trainings PC's die eens in de tijd geimaged worden en nieuwe updates etc. krijgen. Nu is het zo dat de W7/Vista en Office dan opnieuw serials etc. ingevoerd moet worden. Nu heb ik al een script dat de serial van W7/Vista aanpast en ook gelijk activeert. Maar dit is (per computer) en moet handmatig aangezet worden. Nu wil ik dus dat het bij de aller eerste login gebeurt zodat het niet meer handmatig hoeft en daarna zich verwijdert of iets ?

Ook zou het fijn zijn als die bijv met een command zijn computer naam zoekt en zo het bat bestandje met de zelfde naam en die dan oproept zodat die ook echt automatisch die juiste bat opent met de serial erin en zo dus activeert.

Op dit moment heb ik dus serial + activatie via cmd:


slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
call Activate.cmd

En in activate staat:

slmgr.vbs -ato

Nu moet het dus eigenlijk dat die voor de slmgr.vbs de juiste computer naam kiest dus bijv: Train125 en dus Train125.cmd oproept en niet Train124.cmd of iets anders. Is dit mogelijk?

Zou dit evt. ook mogelijk zijn met het Office licentie ? Daar moet namelijk 2 bestanden uit het regedit verwijdert worden voor er een nieuwe licentie ingevoerd kan worden.

Hoop in ieder geval dat iemand me al kan helpen met de computer naam en hem eenmalig te laten werken, niet dat die bij de 2e boot weer opstart.

Thanks!

Acties:
  • 0 Henk 'm!

  • vassago
  • Registratie: Januari 2000
  • Nu online
Open eens een dosbox en type eens "set" in?

De computernaam opvragen via een CMD'jte/bat file is wel heel erg basic.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
vassago schreef op dinsdag 13 december 2011 @ 14:25:
Open eens een dosbox en type eens "set" in?

De computernaam opvragen via een CMD'jte/bat file is wel heel erg basic.
Niet als je niet thuis bent in scripting ? Met set ben ik er iig al achter dat het Computername is maar dan is mijn vraag nog hoe doe ik dat dan ? Bijv: call %computername%.cmd of iets anders ? Ik ben een erge leek hierin. Wat ik dus op dit moment heb was voor mijn dus ook puzzelen en testen. Dat dit al werkt vind ik voor me zelf al knap haha.

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Maar je hebt simpelweg geen bestand die %computername%.cmd heet. Zonder eerst op alles pc's een bestand te maken, kan je daar natuurlijk helemaal niets mee.

Als je voor elke PC een appart activatie wil hebben, zal je 1 groot batch bestand moeten maken, en de computername als variable sub moeten gebruiken, om daar de juiste calls te doen.

@echo off
goto %computername%
goto end

:computernaam1
call activate keyblahblah
goto end

:computernaam2
call activate blahblah
goto end

:end


Zo moet je dan te werk gaan. Maar als je er zelf weinig kaas van gegeten hebt, kan je het beter uitbesteden, ipv dat je straks het e.e.a. finaal sloopt, wat natuurlijk ook kan.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 00:49

The Eagle

I wear my sunglasses at night

Voor zover ik weet zit de licentiestructuur van MS zo in elkaar dat je best een andere key mag gebruiken op meerdere werkstations, zolang je de originele key maar hebt. En uiteraard dan niet via internet activeren - tenzij je VLK's hebt, die kunnen vziw wel gewoon meervoudig via internet geactiveerd worden.

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Klopt, zijn trainings PC's waar officieel licenties bij zitten en de Office zijn technet licenties aangezien daar enkel demo's mee worden gegeven en niet mee gewerkt wordt (Goed gekeurd door Microsoft, staat zwart op wit!) Dus dat is geen probleem.

Wat RaZ zegt is nog een klein beetje te snapen. Dus eigenlijk MOET er op elke PC al minimaal %computername%.cmd te maken en die te droppen ergens in C:\Windows\Win32 ?

Als ik beetje kijk zou ik bijv op dit uitkomen:

goto %computername%
goto end

:Train125
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
call Activate.cmd
goto end

:Traing124
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
call Activate.cmd
goto end

:end

Dus eigenlijk alles in 1 CMD zetten en dan op elke PC die %computername%.cmd aanmaken met daarin %computername% ?

In ieder geval alvast bedankt voor dit!

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Nee, want je moet wel zorgen dat dat bestand:
- op alle computers staat, of op een netwerkshare waar ze bijkunnen
- zorgen dat het automatisch gestart wordt

Meest handige (vind ik dan) is om dat bestand op een netwerkshare te zetten, en een snelkoppeling naar dat bestand te maken en in de map opstarten van het startmenu te zetten, en die hidden maken (vanuitgaande dat hidden (verborgen) bestand niet getoond woorden).

Het is een beetje een houwtje-houtje methode eerlijk gezegd, maar het werkt wel.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja dat is ook nog een optie, hoeft dus maar 1 bestand te maken en vanuit daar zoals je zegt een snelkoppeling maken. Ja die kan ik natuurlijk gewoon hidden. Maar de opzet die ik dus dus even snel heb aagepast in me vorige post is goed toch ? Enkel moet ik dan een bestand Computernaam.cmd of %computername%.cmd aanmaken met daarin %computername% en meer niet. Zou ik dan bij goto %computername% veranderen naar als die in een share zit naar: goto \\SHAREMAP\Bedrijfsnaam\Software\Scripts\License\%computername%.bat ?

Thanks voor de hulp!

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Het enige waar je %computername% gebruik is in de logica, en dat is IN je batch-bestand. En die heb je nu.

Nu moet je zorgen dat elke computer dat bestand automatisch opstart.

Dat batch-bestand noem je gewoon wat je wil, bijv: actilog.bat
Die zet je vervolgens op een netwerkshare:
\\server\scripts\login

Vervolgens maak je een snelkoppeling naar dat bestand, en moet je zorgen dat die snelkoppeling automatisch gestart wordt, en dat kan om hem in de map opstarten van het startmenu te zetten. Die snelkoppeling moet je dus op alle systemen zetten die er gebruik van maken.

Maak die snelkoppeling lekker hidden, zodat men hem niet 30x kan starten, want daar heb je niks aan.

Het handigste is om die snelkoppeling te zetten in de map opstarten voor alle gebruikers.

Meer jip-en-jannekke-taal dan dit kan ik het niet maken gok ik zo :P

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 00:49

The Eagle

I wear my sunglasses at night

Even snel zoals ik het aan zou pakken:
Netwerkshare waar de installatieuser (domein user) die je gebruikt gewoon toegang toe heeft. Daarop zet je je scripts.

En als je je scripts moet draaien: inloggen als installatie user, cmd prompt opstarten.
In de command prompt een commando geven als
code:
1
\\server\share\install.cmd

In je installatiescript vervolgens:
1) slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
2 slmgr.vbs -ato

Kun je zelfs nog een computernaam gebruiken als variable, mocht dat nodig zijn :)

Edit: DAMN you RaZ

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
The Eagle schreef op dinsdag 13 december 2011 @ 15:05:
Even snel zoals ik het aan zou pakken:
Netwerkshare waar de installatieuser (domein user) die je gebruikt gewoon toegang toe heeft. Daarop zet je je scripts.

En als je je scripts moet draaien: inloggen als installatie user, cmd prompt opstarten.
In de command prompt een commando geven als
code:
1
\\server\share\install.cmd

In je installatiescript vervolgens:
1) slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
2 slmgr.vbs -ato

Kun je zelfs nog een computernaam gebruiken als variable, mocht dat nodig zijn :)

Edit: DAMN you RaZ
Dat is juist mijn punt, naar een nieuwe image moet het dus automatisch gaan en geen mens meer aan te hoeven te komen.

Wat ik nu ga doen is:

Ik ga nu dus op de share schijf van de trainingsruimte een hidden map aanmaken met daarin: Activation.bat script en in dat script zit dus het lange script met de goto commands. En in die zelfde hidden map komt dus ook Activate.bat die in het script Activation.bat wordt opgeroepen om de licenties te activeren.

Of zal ik de command: call Activate.bat veranderen naar: slmgr.vbs -ato zodat er geen 2e bat file nodig is ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:TRAIN02
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
call Activate.cmd
goto end

of

:TRAIN02
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
pause 10
slmgr.vbs -ato
goto end

Mij lijkt dus met het 2e dat die eigenlijk het zelfde doet maar alleen 10 seconden pauze tussen neemt ipv Activate.cmd oproept ? Of zou het 1e ook goed werken ? Kan helaas het komende 30-40min niet testen. Wordt een klein groepje PC's klaar gemaakt om te testen nu.

Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 00:49

The Eagle

I wear my sunglasses at night

Of zal ik de command: call Activate.bat veranderen naar: slmgr.vbs -ato zodat er geen 2e bat file nodig is ?
Dat lijkt me sowieso handig ;)

Aangezien het alleen bij de eerste boot moet draaien, zou ik simpelweg de autoexec.bat aanpassen, icm het al dan niet bestaan van een bepaald bestand in de temp folder, genaamd FirstBoot.txt

In je autoexec zet je een stukje als (psudo code hier, ken de exacte commando's niet):
code:
1
2
3
If exists c:\temp\firstboot.txt then
\\server\share\installscript.cmd
end-if

En op het einde van je installscript.cmd neem je een regel op als de volgende:
code:
1
ren c:\temp\FirstBoot.txt c:\temp\oldboot.txt


Zo wordt dat installscript maar eenmalig aangeroepen.
Bijkomend voordeel: mocht je een PC opnieuw willen uitrollen, dan is het aanmaken van het bestand c:\temp\firstboot.txt voldoende om de install over te doen.

Ik hoop dat je het principe een beetje begrijpt hier en ook ziet dat je op deze manier in je installscript een hoop meer kunt laten doen als alleen die license keys zetten :)

Suc6 :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Dat in de autoexec.bat opnemen gaat denk ik niet werken, omdat het de drivers van de netwerkkaart dan nog niet geladen zijn, en dus ook de tcp/ip stack en netbios niet.

M.a.w. je krijgt foutmeldingen die je niet ziet.

Als het Pro machines zijn (dus geen Home OS'en) zou je het gewoon in het standaard login-script kunnen verwerken. Maar ik denk dat er nu te veel langs elkaar heen lopende oplossingen neer gezet worden, die totaal niet compatible zijn met elkaar, en de TS dan helemaal niet meer door de bomen het bos meer ziet.

Wat The Eagle zegt werkt ook, maar is net even anders dan die van mij. En dat door elkaar halen geeft gewoon niet het gewenste effect.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waar hoort mijn topic?
Ik zie even niet wat dit met Webdesign, Markup & Clientside Scripting van doen heeft :?

WEB >> WOS

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Over welke licentievorm hebben we het trouwens?

Als je herhaaldelijk moet (her)installeren is het niet handig om binnen de 30 dagen een MAK key te activeren bijvoorbeeld.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het nu dus via een sharemap de Activate.bat file in een share staan. Vanuit daar in de map Opstarten gezet en daar hidden gemaakt. (Alleen admin account) en als ik het script handmatig opstart werkt het zoals het hoort! Dus dat is al netjes! Bedankt guys!

Verder zitten de training computers in het domein, echter zitten er gewoon 6 lokale users op en wordt er daar op ingelogt. Voor die users is dus een apparte netwerk share waar bestanden op staan en daar heb ik nu ook de script in verstopt.

Nu moet ik dus nog zien uit te vogelen en puzzelen om het hier werkend te krijgen dat het enkel gebeurt bij de 1e boot naar een image. Maar ik heb zo'n idee dat het eigenlijk geen haalbare kaart is om dat te maken.

P.S. De image wordt maar eens in de zoveel tijd gemaakt ivm updates van software en gebruikers die er aan rommelen. Het is niet 1x in de maand maar 1x in het kwartaal minimaal.

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Had je dat niet eerder kunnen vermelding dan? :P Nu wordt dat script bij elke boot gestart. Maar je kan ook een controle-file laten aanmaken door dat batch-bestand, lokaal op de pc.

Bijvoorbeeld: C:\windows\actidone.txt

Omdat je batch bestand bij elke boot wordt gestart, zet je er een extra check in of het bestand c:\windows\actidone.txt bestaat. Als dat wel zo is, is het systeem geactiveerd, en goto je direct naar end.

Bestaat het bestand niet, dan is het een nieuwe image die geactiveerd moet worden, en dan activeer je, en schrijf je vervolgens een 0-byte file weg naar c:\windows\actidone.txt (of nog mooier, de datum en tijd dat je kan zien wanneer de activatie heeft plaatsgevonden).

if exist "c:\windows\actidone.txt" goto end

.. hier de logica voor het activeren zoals in je oude script staat ..

:writefile
echo %date% %time% > "c:\windows\actidone.txt"

:end

Dus na de activatie-routine niet goto end gooien, maar naar writefile.

Of dat werkt met rechten in de windows map, dunno.. Maar daar kan je ook een hidden map voor gebruiken waar de rechten goed op ingesteld wordt, en dat wel meenemen in de image.

Let op, dit even snel uit de losse pols getikt, en niet gechecked op correctheid.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 09:24
Verwijderd schreef op woensdag 14 december 2011 @ 08:34:
Nu moet ik dus nog zien uit te vogelen en puzzelen om het hier werkend te krijgen dat het enkel gebeurt bij de 1e boot naar een image. Maar ik heb zo'n idee dat het eigenlijk geen haalbare kaart is om dat te maken.
Als je in je image een snelkoppeling maakt naar je batch bestand op je share, en deze in de map opstarten zet van je start-menu, dan wordt de batch gestart op het moment dat de pc start.
Laat onderin de batch de snelkoppeling verwijderen uit je startmenu.

Of je neemt het op in je runonce in je register.

Gewoon even zoeken bij Google......

The best thing about UDP jokes is that I don't care if you get them or not.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry wou het eigenlijk in stapjes doen zodat ik er zelf ook niet al te moeilijk te maken en ook snapte wat ik zou gaan doen haha sorry daarvoor! Wat je daar zo snel hebt geschreven vanaf :writefile heb ik even geteste en werkt. Zo meteen ga ik de if exist gedeelte testen op een test machine.

Maar wat ik dus toestraks merkte is dat als ik hem hidden heb in de map Opstarten en ik reboot krijg ik geen cmd te zien waar die hem zeg de serial invoert en activeert. Heb nog niet getest zonder hidden.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Remco schreef op woensdag 14 december 2011 @ 14:06:
[...]

Als je in je image een snelkoppeling maakt naar je batch bestand op je share, en deze in de map opstarten zet van je start-menu, dan wordt de batch gestart op het moment dat de pc start.
Laat onderin de batch de snelkoppeling verwijderen uit je startmenu.

Of je neemt het op in je runonce in je register.

Gewoon even zoeken bij Google......
Dat is al, als je even beetje door had genomen zag je dat RaZ dit netjes heeft uitgelegd. Nu ben/zijn we dus bezig het een eenmalige actie van te maken naar een nieuwe image. En niet bij elke boot.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ben nu dat if exist aan het testen hier door hem een file op me bureaublad te maken heb nu dit:

if exist "\c:\windows\actidone.txt" goto end

:writefile
echo %date% %time% > "C:\Documents and Settings\U.Ser\Bureaublad"

:writefile
echo %date% %time% > "c:\windows\actidone.txt"

:end

De 1e dat doet die netjes de file in C:Windows zetten als die er niet is. Alleen de 2e dat die hem op me bureablad moet zetten doet die niet. Dit wordt dus nog even verder testen!

EDIT:

:writefile
echo %date% %time% > "C:\Documents and Settings\U.Ser\Bureaublad"

heb ik vervangen voor: call calc.exe en dat werkt! Alleen snap ik nu niet waarom die bijv: call "C:\Documents and Settings\U.Ser\Bureaublad" niet doet.

[ Voor 20% gewijzigd door Verwijderd op 14-12-2011 14:21 ]


Acties:
  • 0 Henk 'm!

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 09:24
Verwijderd schreef op woensdag 14 december 2011 @ 14:09:
[...]
Dat is al, als je even beetje door had genomen zag je dat RaZ dit netjes heeft uitgelegd. Nu ben/zijn we dus bezig het een eenmalige actie van te maken naar een nieuwe image. En niet bij elke boot.
Ja ja, heel goed. Lees zelf mijn posting nog eens even door. Daar staat iets over verwijderen en runonce etc...

The best thing about UDP jokes is that I don't care if you get them or not.


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Maar om nog wel even te benadrukken, het is en blijft een houtje-touwtje oplossing.

De keys zijn natuurlijk uit te lezen door iedereen die achter die pc plaatsneemt. En niet 1, nee, van elke pc.

Maar als jij straks 1x per maand steeds 10 versies van windows zo gaat activeren, denk ik dat Microsoft op een goed moment online activatie misschien op die keys wel stop zet, en dat je elke keer kan gaan bellen.

Opzich is het wel een leuk en grappig project, maar als je over een tijdje dat kan weggooien is het zonde van de tijd geweest. Al heb je er wel iets meer ervaring van Batch bij gekregen.
Foutcode 0xC004C008

Symptoom
Wanneer u probeert een of meer computers te activeren met KMS, kan het volgende foutbericht worden weergegeven:

0xC004C008
De activeringsserver heeft bepaald dat de opgegeven productcode niet kan worden gebruikt.

Oorzaak
Dit probleem kan optreden als de KMS-code de activeringslimiet heeft overschreden. KMS-codes kunnen maximaal 10 keer worden geactiveerd op zes verschillende computers.

Oplossing
Neem contact op met het Product Activation-callcenter als u vaker wilt activeren.
Welk soort licenties je hebt, is dus zeker wel belangrijk voor online activeren.. Daar zou ik toch even wat tijd en energie insteken...

Omdat je verschillende key's per systeem hebt, geldt bovenstaande weer niet, maar het zou me niets verbazen als de online activatie een keer gaat stoppen.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Verwijderd schreef op woensdag 14 december 2011 @ 14:15:
Ben nu dat if exist aan het testen hier door hem een file op me bureaublad te maken heb nu dit:

if exist "\c:\windows\actidone.txt" goto end

:writefile
echo %date% %time% > "C:\Documents and Settings\U.Ser\Bureaublad"

:writefile
echo %date% %time% > "c:\windows\actidone.txt"

:end

De 1e dat doet die netjes de file in C:Windows zetten als die er niet is. Alleen de 2e dat die hem op me bureablad moet zetten doet die niet. Dit wordt dus nog even verder testen!

EDIT:

:writefile
echo %date% %time% > "C:\Documents and Settings\U.Ser\Bureaublad"

heb ik vervangen voor: call calc.exe en dat werkt! Alleen snap ik nu niet waarom die bijv: call "C:\Documents and Settings\U.Ser\Bureaublad" niet doet.
Je geeft bij je writefile naar het bureaublad geen bestandsnaam op he. Je kan geen data stoppen in een directory natuurlijk.

Met de call dus idem. Je zegt dat ie een bestand moet uitvoeren, maar een bestandsnaam ontbreekt. Er valt dus niets te starten.

Het gebruik van call is enkel nodig als het script moet wachten tot het gecallde bestand klaar is, en dan pas verder gaat (of het eerst bestand kapt gewoon, dat weet ik niet meer zeker).

Het bestand actidone.txt is onderdeel van de logica van het script, en dan heeft dat sowieso 0,0 nut om die ook op het bureaublad te kwakken, waar daar wordt in de "if file exist" geen rekening mee gehouden.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke, ik moet die commands nog even allemaal onder de knie zien te krijgen. Ik heb nu dit even als testje gemaakt:

if exist C:\Windows\actidone.txt goto end

goto %computername%
goto end

:TRAIN11
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto %writefile%

:TRAIN12
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto %writefile%

:writefile
echo %date% %time% > C:\Windows\actidone.txt
goto end

:end

Nu zit ik dus bij de goto %writefile% ergens in de knoei. Daar stond dus eerst goto end maar dat moet dus niet die moet dus eerst langs :writefile gaan en dan pas naar end. Hoe werkt die command gebeuren dan vanaf goto %writefile% wat ik nu heb en wat dus niet werkt, helaas. Thanks mensen!

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

De writefile is namelijk ook geen variable. De procenten er om heen betekend dat je met een variable werkt.
@echo off
if exist C:\Windows\actidone.txt goto end

goto %computername%
goto end

:TRAIN11
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto writefile

:TRAIN12
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto writefile

:writefile
echo %date% %time% > C:\Windows\actidone.txt
goto end

:end


Je gebruikt namelijk ook niet goto %end% he ;)

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Owja haha sorry! Maar dit wilt helaas niet werken :( Zodra die bij slmgr.vbs -ato is dan gaat die naar end terwijl er toch echt goto writefile gaat. Zit op de hoofd admin van de PC en heeft alle rechten en toegang tot alles. Maar helaas maakt die dus geen actidone.txt file aan.

EDIT: Typfoutje! Het werkt dus wel nu! Echter moet ik nu even zien uit te vogelen waarom die het niet doet tijdens het opstarten terwijl het wel hoort te gebeuren, via CCleaner en msconfig staat die op enabled. Heb hem nu even lokaal gezet aangezien ik merkte dat zodra je inlogt hier nog niet meteen internet heeft en dus geen verbinding maakt met de share schijf.. Is even kijken wat het probleem is waarom die hem ook zelfs lokaal niet pakt!

[ Voor 44% gewijzigd door Verwijderd op 14-12-2011 15:04 ]


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Ok, mik die @echo off maar even weg (die supressed wat er op de commandline komt te staan.
En zet er NA de :end eens een pause (dan wacht het script op een key-press), en kan je eventuele error zien, want na het script gooit ie natuurlijk het venster dicht.

if exist C:\Windows\actidone.txt goto end

goto %computername%
goto end

:TRAIN11
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto writefile

:TRAIN12
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto writefile

:writefile
echo %date% %time% > C:\Windows\actidone.txt
goto end

:end
pause

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RaZ schreef op woensdag 14 december 2011 @ 15:04:
Ok, mik die @echo off maar even weg (die supressed wat er op de commandline komt te staan.
En zet er NA de :end eens een pause (dan wacht het script op een key-press), en kan je eventuele error zien, want na het script gooit ie natuurlijk het venster dicht.

if exist C:\Windows\actidone.txt goto end

goto %computername%
goto end

:TRAIN11
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto writefile

:TRAIN12
slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs -ato
goto writefile

:writefile
echo %date% %time% > C:\Windows\actidone.txt
goto end

:end
pause
Ik had een klein typfoutje gemaakt maar het werkt nu wel! Dat vind ik al echt super. Nu uitzoeken waarom die het niet doet naar een boot zelfs als die lokaal staat niet. Voor de rest werkt het helemaal al!

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Als je inlogt als een normale user, heb je waarschijnlijk (wat de admin wel heeft) geen schrijfrechten op c:\windows.

De keuze om het bestand dan elders neer te mikken (desnoods in een apparte directory) waar de rechten voor iedereen op full staat (dus niet enkel voor de admin), en dan moet het goed gaan.

Het is leuk dat je zo'n script als admin test. Maar c:\windows is natuurlijk een systeem-map. En het zou niet echt wenselijk zijn als iemand een ctrl-a en shift-delete doet in die map ;)

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RaZ schreef op woensdag 14 december 2011 @ 15:15:
Als je inlogt als een normale user, heb je waarschijnlijk (wat de admin wel heeft) geen schrijfrechten op c:\windows.

De keuze om het bestand dan elders neer te mikken (desnoods in een apparte directory) waar de rechten voor iedereen op full staat (dus niet enkel voor de admin), en dan moet het goed gaan.

Het is leuk dat je zo'n script als admin test. Maar c:\windows is natuurlijk een systeem-map. En het zou niet echt wenselijk zijn als iemand een ctrl-a en shift-delete doet in die map ;)
Klopt, echter is het ook alleen maar op de admin account. Op de andere accounts hoeft het script natuurlijk niet te werken of actief te zijn. Puur op de admin accounts waar de updates en software etc. wordt geregeld. Vanuit de user accounts kunnen ze niet op de C: schijf komen enkel op de T: schijf die een shared map is. De admin kan wel gewoon op de C: komen en alle shared mappe die er zijn.

Zouden jullie het misschien ook weten waarom die zelfs lokaal niet het script opstart of zou ik voor deze vraag ergens anders een topic moeten openen ?

Alvast allemaal bedankt voor de hulp!!

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Wat bedoel je met "zelfs lokaal niet het script opstart"? Want de vraagstelling is leuk, maar heb nu dus geen idee waar je het over hebt..

Krijg je foutmelding? Zo ja, welke?

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik bedoel, ik heb hem nu in C:\Program Files\Windows Activate\Activation1 en van die een snelkoppeling gemaakt naar de map Opstarten. Echter start die dus niks op bij het opstarten. (Als Admin natuurlijk!)

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Zie je die snelkoppeling dan wel als je gaat naar:
Start -> Programma's -> Opstarten ?

Zo niet, dan wordt ie ook nooit gestart, want dan staat ie op de verkeerde plek.

Staat ie daar niet, open verkenner, en ga naar:
C:\Documents and Settings\Administrator\Start Menu\Programs\Opstarten

Rechtermuisknop -> Nieuw -> Snelkoppeling, en maak daar een snelkoppeling aan naar dat batch-bestand

Note: Ik gebruik een Engels XP (dus programs kan eventueel anders heten)

Sarcasme: Of moet ik morgen m'n snipperdag opofferen om de boel in 1 minuut te komen fixen daar? >:)

[ Voor 10% gewijzigd door RaZ op 14-12-2011 16:19 ]

Ey!! Macarena \o/


Verwijderd

Topicstarter
Haha, nee dat hoeft niet ik moet het zelf leren haha. Ja alleen heb hem dus hidden gemaakt als ik dan start programas opstarten doe zie ik hem dus niet. Is even gaan testen.

EDIT: Zoals ik dus al dacht, het werkt alleen als die niet hidden is. Maar hij start nu wel op vanaf de 1e boot. En als dat bestandje er al staat dan sluit die zich ook weer af. Dus dat werkt al netjes! Nu een iets anders naampje, logotje en dan kan die eigenlijk zo blijven staan van mijn.

[ Voor 45% gewijzigd door Verwijderd op 15-12-2011 09:51 ]


Verwijderd

Topicstarter
Ah dit is jammer. Hij is zo goed als perfect op 1 ding na en dat is dat er een schermpje komt met: Onbekende uitgever weet je zeker dat je het wilt uitvoeren. Is er een manier om dit te omzijlen of ergens iets aan te passen ?

Thanks!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 08:36

Rmg

Waarom in batch? Je hebt al vbs scripts, daar kan je prima je hostname mee opvragen.
code:
1
2
3
4
5
6
7
8
9
<%

Dim objNTInfo
Set objNTInfo = CreateObject("WinNTSystemInfo")

GetComputerName = lcase(objNTInfo.ComputerName)
Response.Write "Hostname = " & GetComputerName

%>


daar kan je ook mooi if else dingetjes mee doen en hoef je niet moeilijk te doen met tig cmd files

Verwijderd

Topicstarter
Nou ik heb maar 1 cmd files hoor ? 1 grote als het waar maar het werkt al wel. Alleen dan het onbekende uitgever is nu een klein probleempje.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nog een klein vraagje,

Hoe is het evt mogelijk om in het zelfde script ook nog dit te zetten:

HKEY_LOCL_MACHINE -> SOFTWARE -> Microsoft -> Office -> 12.0 -> Registration -> {90120000-0012-0000-0000-0000000FF1CE}

Dan moet die daar de DigitalProductID & ProductID verwijderen. Is dit ook mogelijk via het zelfde scriptje ? Als dat zo is zou dat ook erg handig zijn!

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Van de onbekende uitgever, geen idee.

Maar voordat je je image draait, kan je die key natuurlijk verwijderen, zodat je die niet achteraf hoeft te verwijderen.

Je kan natuurlijk een export draaien van een verandering in het register, welk je daarvan dus een bestand krijgt die je kan uitvoeren. Volgens mij krijg je dan wel een scherm voor je kiezen of je er toestemming voor wil geven.

Maar, je kan natuurlijk ook eens de vraag op Google stellen, volgens mij krijg je daar ook best wel goeie informatie: Leesvoer!

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 09:24
Je mag zelf ook best wel wat moeite doen. Dat wordt wel een beetje verwacht op dit forum.

Als je op Google de zoektermen "batch delete registry key" intypt krijg je genoeg voorbeelden te zien.

The best thing about UDP jokes is that I don't care if you get them or not.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Klopt dat heb ik ook al volop gedaan. Alleen waar ik net dus ook aan zat te denken ja is voor ik de image maak die 2 files zelf verwijder. Echter is het NIET mogelijk om de licence key van office via een cmd in te voeren anders had ik dat wel gedaan. Daar zou ik per PC de bestaanden Values moeten moeten opslaan en gaan scripten. Dit zou als enige handmatig moeten gebeuren dan, helaas.

Nogmaals iig bedankt voor alle hulp en vooral RaZ!

Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Geen probleem ;)

Maar.. Je kan aanpassingen in het register automatiseren, en dan heb je .reg-files. Die kan je in je batch-bestand natuurlijk ook gewoon aanroepen. Zelfde als wat je met de .vbs-bestanden doet.

Al krijg je als je een .reg-file dubbelklikt wel de melding over een register-setting die doorgevoerd gaat worden, en misschien ook wel een melding over een onbekende uitgever.

Batch is niet anders dan op de command-prompt een lading commando's achter elkaar te zetten.

Een registersetting aanpassen via de prompt kan dus niet, het scripten dmv een bestand aan te roepen kan natuurlijk wel.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Pascal
  • Registratie: Januari 2001
  • Laatst online: 09-10 11:21
Voor office keyimport is er ook een vbs bestand: http://blogs.technet.com/...ce-2010-installation.aspx

En als je graag register files silent wilt importeren gebruik je REGEDIT /S pathname/regfile
Pagina: 1