[DPC] Universeel massa uitrol installatie script

Pagina: 1
Acties:

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 00:38
Tja, zoals de titel al meld..

Ik weet niet of hier veel vraag naar is, maar het lijkt mij makkelijk om 1 universeel iets te hebben dat geschikt is voor vrijwel alle clients.

Aangezien ik zo af en toe mijn paar losse pc's in 1 klap wil updaten vond ik dit veel makkelijker..

De meeste clients hebben wel een ingebouwde optie om als service te dienen, maar bieden helaas niet de mogelijkheid om op afstand geinstalleerd te kunnen worden, het onderstaande script kun je daar wel voor gebruiken

De gebruikte tools komen uit de nt resource kit en uit de gnu unix utils, deze kun je downloaden op microsoft.com en sourceforce.net. Indien ik er vanavond aan toe kom zal ik ze onlige gooien.

n.b. Het script leent zichzelf natuurlijk perfect om aangepast te worden naar jouw wensen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@echo off

rem info duke@qik.nl
rem zorg dat alle benodigde files (de client + config) en srvany.exe in de ./files dir staan.

rem vul hier je client in, zoals ecc2.exe, sobcli.exe, seticore.exe enz:
set client=

rem voor winxp is het vaak nodig alle 'winnt' verwijzingen te vervangen voor 'windows' :
set osdir=winnt

if %1#==delete# goto delete
if %1#==# echo geen pcnaam opgegeven & echo gebruik %0 ^<delete^>  [pcnaam/ipadres] & goto end

echo communicatie controleren
ping -n 1 %1 | grep "Reply"
if %errorlevel%#==1# echo "ping timeout, probeer later" & goto end

echo directory check
if not exist \\%1\c$\%osdir%\system32 echo dir \%osdir%\system32 bestaat niet & goto end

echo bestanden kopieren
copy files\*.* \\%1\c$\%osdir%\system32

echo service wordt toegevoegd
sc \\%1 create srvany binPath= c:\%osdir%\system32\srvany.exe type= own start= auto error= ignore

echo regsleutel toevoegen
REG.EXE ADD HKLM\SYSTEM\CurrentControlSet\Services\srvany\Parameters\Application=C:\\%osdir%\\system32\\%client% \\%1
rem indien de regkey al bestond doen we voor de zekerheid een update
REG.EXE UPDATE HKLM\SYSTEM\CurrentControlSet\Services\srvany\Parameters\Application=C:\\%osdir%\\system32\\%client% \\%1

echo starten van service
sc \\%1 start srvany

goto end

:delete
rem delete verwijderd ALLEEN de service, geen bestanden.

if %2#==# echo geen pcnaam opgegeven & echo gebruik %0 ^<delete^>  [pcnaam/ipadres] & goto end

ping -n 1 %2 | grep "Reply"
if %errorlevel%#==1# echo ping timeout, probeer later & goto end

echo service wordt verwijderd
sc \\%2 delete srvany

:end

Eventueele aanvullingen zijn natuurlijk altijd welkom

[ Voor 6% gewijzigd door DukeBox op 06-02-2004 16:35 ]


  • R4NCOR
  • Registratie: December 2000
  • Laatst online: 19-02 14:34

R4NCOR

eigenlijk gewoon Niels

Hmm.. ziet er leuk uit :)

Als ik het goed begrijp..
De client kopieert alle files naar de system32 dir, en installeert een service, voor de computernaam of het IP adres wat jij opgeeft?

Dus je start dat bestand, geeft een computernaam/IP-adres op, en hij installeert de client... mits C$ share aan staat? :)

Inderdaad wel handig voor mensen met een (groot) netwerk _/-\o_ Nice job.

Misschien handig om in de topic-titel te vermelden dat het met een Netwerk te maken heeft? Ik dacht eerst aan een universele installer (voor gewoon losse pc's) :)

  • MeneerKrab
  • Registratie: Augustus 2000
  • Laatst online: 22:59
R4NCOR schreef op 06 februari 2004 @ 16:49:
?
Dus je start dat bestand, geeft een computernaam/IP-adres op, en hij installeert de client... mits C$ share aan staat? :)
mits je dus sysadmin rechten heb want anders heb je niets aan C$

  • R4NCOR
  • Registratie: December 2000
  • Laatst online: 19-02 14:34

R4NCOR

eigenlijk gewoon Niels

PowerCow schreef op 06 februari 2004 @ 16:56:
[...]
mits je dus sysadmin rechten heb want anders heb je niets aan C$
Uh-huh, I know :)

Leuk tooltje Duke. :)

  • hessel
  • Registratie: Januari 2000
  • Laatst online: 05-11-2024
Als je regel 10 vervangt door het onderstaande hoef je geen wijziging meer te doen voor osdir. Deze wordt nu zelf herkend. Ongeacht het os

regel 10
if exist c:\windows\nul set osdir=windows
if exist c:\winnt\nul set osdir=winnt

[ Voor 1% gewijzigd door hessel op 06-02-2004 17:35 . Reden: typo :( ]

Grutte Pier fansels


  • R4NCOR
  • Registratie: December 2000
  • Laatst online: 19-02 14:34

R4NCOR

eigenlijk gewoon Niels

hessel schreef op 06 februari 2004 @ 17:17:
Aals je regel 10 vervangt door het onderstaande hoef je geen wijziging meer te doen voor osdir. Deze wordt nu zelf herkend. Ongeacht het os

regel 10
if exist c:\windows\nul set osdir=windows
if exist c:\winnt\nul set osdir=winnt
Klopt, mits het in 1 van deze 2 geinstalleerd is natuurlijk ;)

  • Funcracker
  • Registratie: Juni 2001
  • Laatst online: 07-03-2024

Funcracker

The LedZ Collective

:> Netjes Duke.
Zelf nog nooit moeite voor genomen om zoiets te maken..
Als ik tijd heb zal ik es zien of ik het voor Mac aan de praat krijg.

Thnx!

I am one hell of a guy, I can do anything I want, only I just don't have the faintest idea what.
Zaphod Beeblebrox, in The Hitch Hiker's Guide To The Galaxy


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 00:38
R4NCOR schreef op 06 februari 2004 @ 17:31:
[...]

Klopt, mits het in 1 van deze 2 geinstalleerd is natuurlijk ;)
Precies.. maar zoals ik al zei, het is een opzetje. Je kan het eenvoudig aanpassen zoals jouw situatie verlangt.

  • hessel
  • Registratie: Januari 2000
  • Laatst online: 05-11-2024
ff aan gepast zo dat je meerder pc kunt doen
installeren > progje pc1 pc2 pc3 .... pc10
verwijderen > progje delete pc1 pc2 pc3 .... pc10

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
@echo off

rem info duke@qik.nl
rem zorg dat alle benodigde files (de client + config) en srvany.exe in de ./files dir staan.

rem vul hier je client in, zoals ecc2.exe, sobcli.exe, seticore.exe enz:
set client=

if %1#==delete# goto delete
if %1#==# echo geen pcnaam opgegeven & echo gebruik  ^<delete^>  [pcnaam/ipadres] & goto end

:loop1
if exist c:\windows\nul set osdir=windows
if exist c:\winnt\nul set osdir=winnt

echo communicatie controleren
ping -n 1 %1 | grep "Reply"
if %errorlevel%#==1# echo "ping timeout %1, probeer later" & goto volgende

echo directory check
if not exist \\%1\c$\%osdir%\system32 echo dir \%osdir%\system32 %1 bestaat niet & goto volgende

echo bestanden kopieren
copy files\*.* \\%1\c$\%osdir%\system32

echo service wordt toegevoegd
sc \\%1 create srvany binPath= c:\%osdir%\system32\srvany.exe type= own start= auto error= ignore

echo regsleutel toevoegen
REG.EXE ADD HKLM\SYSTEM\CurrentControlSet\Services\srvany\Parameters\Application=C:\\%osdir%\\system32\\%client% \\%1
rem indien de regkey al bestond doen we voor de zekerheid een update
REG.EXE UPDATE HKLM\SYSTEM\CurrentControlSet\Services\srvany\Parameters\Application=C:\\%osdir%\\system32\\%client% \\%1

echo starten van service
sc \\%1 start srvany

:volgende
rem tekst %2 verschuift nu naar %1
shift
if %1#==# goto end
goto loop1


:delete
if %2#==# echo geen pcnaam opgegeven & echo gebruik  ^<delete^>  [pcnaam/ipadres] & goto end

:loop2

rem tekst %2 verschuift nu naar %1
shift
if %1#==# goto end          
rem delete verwijderd ALLEEN de service, geen bestanden.


ping -n 1 %1 | grep "Reply"
if %errorlevel%#==1# echo ping timeout %1, probeer later & goto loop2

echo service wordt verwijderd
sc \\%1 delete srvany

goto loop2
:end


alleen niet kunnen testen

[ Voor 10% gewijzigd door hessel op 06-02-2004 18:49 . Reden: script gekoriceert 2e ]

Grutte Pier fansels


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 00:38
tja, heeft weinig nut, als het om 3 pc's gaat kan je net zo goed 3 keer het scriptje starten (us het nog duidelijker qua evt. foutmeldingen ook) indien het echt om meer pc's gaat kun je daar beter een apparte batch file van maken in de zin van

@echo off
start /wait install.bat [pc1]
start /wait install.bat [pc2]
start /wait install.bat [pc3]


enz..

n.b. zoals jij het gemaakt hebt werkt het overigens niet..

[ Voor 10% gewijzigd door DukeBox op 06-02-2004 18:42 ]


  • hessel
  • Registratie: Januari 2000
  • Laatst online: 05-11-2024
Waar ga ik dan de mist in....

Grutte Pier fansels


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 00:38
je hebt het al aangepast zie ik.

behalve

c:\winnt\nul kent ie niet, moet \\server\c$\winnt\ zijn..

[ Voor 54% gewijzigd door DukeBox op 06-02-2004 19:01 ]


  • hessel
  • Registratie: Januari 2000
  • Laatst online: 05-11-2024
inderdaad je hebt gelijk... die regels kunnen beter ergens anders staan. nl nadat je kijkt of de pc aan staat. Hier kun je dan controleren of het een xp of nt pc betreft. Dus na regel 20 en dan in de opmaak die kijkt naar de dir op de doel pc

code:
1
2
3
4
5
6
7
8
9
10
11
:loop1
if exist c:\windows\nul set osdir=windows   #mag weg
if exist c:\winnt\nul set osdir=winnt              #mag weg

echo communicatie controleren
ping -n 1 %1 | grep "Reply"
if %errorlevel%#==1# echo "ping timeout %1, probeer later" & goto volgende

echo directory check
if exist \\%1\c$\windows\nul set osdir=windows
if exist \\%1\c$\winnt\nul set osdir=winnt

[ Voor 64% gewijzigd door hessel op 06-02-2004 19:16 ]

Grutte Pier fansels

Pagina: 1