Guten Morgen,
ich beschäftige mich seit einigen Wochen intensiv mit den Remote Installationsdiensten von Windows, was nach anfänglichen Schwierigkeiten mit dem Einbinden von Raidkarten Treibern nun aber soweit ganz gut läuft.
Nun hänge ich jedoch an einem Punkt.
das Szenario:
Linux DHCP Server in einem Netzwerk mit /24 Netz. Freigabe der Hosts per MAC Adresse und DNS (Linux DHCP "group" erstellt, in den ich dann die Windows packe, die ich installieren möchte). Der RIS Server selbst hat kein DHCP Server aktiviert.
Die Installation verläuft soweit wie ich will, es wird ein Standard Server 2003 64 Bit installiert, angepasst auf die verwendete Hardware sowie Firma (Treiber, OEM Logo) sowie einige Updates zur Ursprungsversion (R2, SP2).
Nun kann ich leider den Hostnamen + IP nicht so setzen wie ich es möchte, daher hab ich ein kleines Script gebaut. Anscheinend setzt RIS das Netzwerk immer auf "standardeinstellung", d.h. DHCP. Das ist zwar für die Installation ok, jedoch soll das System nach Fertigstellung eine feste IP haben und den DNS Hostnamen (server-xyz.domain.com)
Hier mein Script, das via cmdlines.txt ausgeführt wird (sicherlich etwas umständlich, ich weiß derzeit leider nicht, wie ich anders vorgehen könnte, Tipps willkommen :) ):
::@echo off
:: IP auslesen
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG /ALL ^| FIND "IP Address"') DO FOR %%B IN (%%A) DO SET IPADDR=%%B
::echo %IPADDR%
:: Hostname auslesen
FOR /F "TOKENS=2* DELIMS=:" %%C IN ('nslookup %IPADDR% 89.1xx.1xx.1xx ^| FIND "Name"') DO FOR %%D IN (%%C) DO SET HOSTNAME=%%D
::echo %HOSTNAME%
::IP ändern
netsh interface ip set address name="Local Area Connection" static %IPADDR% 255.255.255.0 89.1xx.1xx.1xx 1
netsh interface ip add dns name="Local Area Connection" addr=89.13x.1xx.1xx
netsh interface ip add dns name="Local Area Connection" addr=89.14x.1xx.1xx
:: Hostname ändern
::REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %HOSTNAME% /f
::REG add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %HOSTNAME% /f
::REG add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %HOSTNAME% /f
::REG add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %HOSTNAME% /f
:: FERTSCH
Was macht das Script?
1. IP auslesen, die ich aktuell per DHCP erhalten habe
2. Hostnamen auslesen, und zwar per nslookup aus dem Host, auf dem die deligierende Zone des Hostnamens liegt (sehr umständlich, wie ich finde, weiß leider nicht, wo ich den Hostnamen sonst "her holen" soll).
3. IP ändern
4. Hostname ändern (derzeit auskommentiert)
Die IP Änderung funktioniert soweit. Lasse ich jedoch mit den obigen Zeilen den Hostnamen ändern, erhalte ich zwar ein "Command completed successfully" der Windows Kommandozeile, allerdings kommt nach einem Reboot des Systems lediglich der windows Bildschirm und eine Fehlermeldung a la "Fehler in lsass.exe". Diese kann ich zwar mit ok bestätigen, allerdings rebootet der frisch installierte Server dann direkt.
Habt ihr vielleicht irgendwelche Tipps, wie ich das Setzen von IP und Host einfacher gestalten kann? Wie gesagt, beide Infos sind per DNS abrufbar, ich weiß nur nicht wie ich diese in RIS integrieren kann. :(
Anmerkung: Ich komme aus dem Linux Umfeld und administriere Windows Server erst seit ein paar Monaten, daher ist mir die Bash (derzeit) wesentlich geläufiger wie die Batch Programmierung unter Windows.
Für Tipps wäre ich dankbar.
Gruß,
flibbi