kevinjo
Goto Top

Skript schreiben zur SID Änderung

Ich möchte ein Skript zur Automatisierung der SID Änderung schreiben.

Hi,

ich klone jeden Tag ca. 22 Systeme. Während das Cloning per Broadcast/Multicast recht flott und elegant von zentraler Stelle aus geht, muss ich dennoch jeden Rechner nach dem Cloning manuell bearbeiten um Rechnername und SID zu ändern.

Ich verwende zu SID Änderung NewSID.

NewSID ist audführbar mit "newsid /a [neuerName]"

Die IP-Adressen werden per DHCP verteilt und die Rechner bekommen feste IP's in der Form 192.168.4.1xx
Wobei xx für die Rechnernummer steht.

Daraus ergibt sich dann auch der Rechnername ABC-xx wobei xx eben jene xx aus der IP.

So jetzt möchte ich ein Skript der Art in den Autostart legen

01 existiert datei c:\...\skriptausgefuehrt.dat?
02 ja
03 beende skript
04 nein
05 lese IP
06 schreibe letzten beiden ziffern in variable $Z
07 füge $PCNAME = "ABC-" und $Z zusammen
08 schreibe datei c:\...\skriptausgefuehrt.dat
09 führe "newsid /a $PCNAME" aus
10 beende skript

Was kann ich da tun. Kein Visual Basic o.ä. zur Verfügung (bzw. kann ich nicht)

Grüße,

kevinjo

Content-ID: 115789

Url: https://administrator.de/contentid/115789

Ausgedruckt am: 25.11.2024 um 14:11 Uhr

dog
dog 11.05.2009 um 16:52:27 Uhr
Goto Top
Stichwort: sysprep
Dort gibst du lediglich als Hostnamen * ein.
Nachdem das durch ist kannst du mit HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce und einem VBScript den Hostnamen in der Domäne ändern.

Grüße

Max
77559
77559 11.05.2009 um 17:38:26 Uhr
Goto Top
Hallo kevinjo,

eine batchdatei reicht doch dafür schon,

@echo Off
:: 01 existiert datei c:\...\skriptausgefuehrt.dat?
:: 02 ja
:: 03 beende skript
If  exist "c:\...\skriptausgefuehrt.dat" goto :EOF  
:: 04 nein
:: 05 lese IP
Call :GetIP IP
If "%IP%"=="0.0.0.0" echo Konnte keine IP ermitteln&Pause&Goto :EOF  
:: 06 schreibe letzten beiden ziffern in variable $Z
For /F "Tokens=4 Delims=." %%A in ('echo %IP%') Do Set Z=%%A  
Set Z=%Z:~-2%
:: 07 füge $PCNAME = "ABC-" und $Z zusammen  
Set "PCNAME=ABC-%Z%"  
:: 09 führe "newsid /a $PCNAME" aus  
Newsid /a %PCNAME%
:: 08 schreibe datei c:\...\skriptausgefuehrt.dat
Echo %PCNAME% %IP% >"c:\...\skriptausgefuehrt.dat"  
:: 10 beende skript
Goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:GetIP ip
::
:: By:   Ritchie Lawrence, 2003-09-22. Version 1.0
:: Func:
::  Obtains the IP address of primary adapter. For NT4/2000/XP/2003.
::  If functions fails, 0.0.0.0 is returned.
::
:: Args: %1 var to receive IP address (by ref)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS & set "i=0.0.0.0" & set "j="  
for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0'  
) do (if not defined j for %%b in (%%a) do set "i=%%b" & set "j=1")  
endlocal & set "%1=%i%" & goto :EOF  
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Ungetestet!

Gruß
LotPings
kevinjo
kevinjo 20.05.2009 um 17:52:35 Uhr
Goto Top
Ja das ist super. Danke. Ich schau mal von wegen sysprep. Und das mit dem Skript ist super und gefällt mir eigentlich noch besser. Man könnte es vielleicht als rumgeprutsche bezeichnen, aber das weiß ich wenigstens was passiert, bzw. warum nicht, wenn mal nichts passiert.

Grüßle,

Kevin
77559
77559 20.05.2009 um 17:57:11 Uhr
Goto Top
Hallo Kevin,

hattest du Urlaub, oder ist deine Latenz so groß face-wink

Gruß
LotPings
Biber
Biber 20.05.2009 um 18:12:00 Uhr
Goto Top
Zitat von @77559:
... oder ist deine Latenz so groß face-wink

Hiess das wirklich Latenz, was für die jungen Männer noch wichtiger sein kann als Computerprobleme?

...alles schon so lange her...

Schönes Wochenende
Biber
kevinjo
kevinjo 22.05.2009 um 10:23:59 Uhr
Goto Top
Administratoren haben 4 Stunden für Internetrechersche pro Woche zur Verfügung bei uns. Hey, das sind immerhin 3 mehr als der normale User hat. Ihr wisst schon, die Verbindungspreise. ;)

Grüße,

Kevinjo