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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115789
Url: https://administrator.de/contentid/115789
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo kevinjo,
eine batchdatei reicht doch dafür schon,
Ungetestet!
Gruß
LotPings
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
Hallo Kevin,
hattest du Urlaub, oder ist deine Latenz so groß
Gruß
LotPings
hattest du Urlaub, oder ist deine Latenz so groß
Gruß
LotPings