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-Key: 115789

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

Printed on: April 24, 2024 at 19:04 o'clock

Member: dog
dog May 11, 2009 at 14:52:27 (UTC)
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
Mitglied: 77559
77559 May 11, 2009 at 15:38:26 (UTC)
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
Member: kevinjo
kevinjo May 20, 2009 at 15:52:35 (UTC)
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
Mitglied: 77559
77559 May 20, 2009 at 15:57:11 (UTC)
Goto Top
Hallo Kevin,

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

Gruß
LotPings
Member: Biber
Biber May 20, 2009 at 16:12:00 (UTC)
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
Member: kevinjo
kevinjo May 22, 2009 at 08:23:59 (UTC)
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