Ich hatte letztens folgendes Problem: Nach einer AcrtiveDirectory-Migration haben sich die DNS-Server für die Domäne geändert. Folglich mussten auf allen Clients (Windows XP und Windows 7) die neuen DNS-Server eingetragen werden. Mit DHCP ist das ja ganz einfach – nur bei meinem Fall waren es Clients mit statischer IP-Konfiguration. Und es waren viele…

Deshalb hab ich mir ein Script (eine Batch) gebaut, mit der ich das automatisiert machen lassen kann:

echo off
ver | find "XP"
if errorlevel 1 (goto :7) else (goto :XP)

:XP
echo WinXP
ipconfig | find "Ethernet" >> nic.tmp
set /P nictemp=<nic.tmp
del nic.tmp
netsh interface ip set dns name="%nictemp:~16,-1%" static 1.2.3.4 
netsh interface ip add dns name="%nictemp:~16,-1%" 1.2.3.5 index=2
goto :end

:7
echo Win7
ipconfig | find "Ethernet" >> nic.tmp
set /P nictemp=<nic.tmp
del nic.tmp
netsh interface ip set dns name="%nictemp:~17,-1%" static 1.2.3.4
netsh interface ip add dns name="%nictemp:~17,-1%" 1.2.3.5 index=2
goto :end

:end
exit

Kurze Erklärung: zuerst wird überprüft ob Windows XP oder darüber (Vista und Windows 7).

Danach wird der Name der Netzwerkkarte ausgelesen – weil man ja nicht hundertprozentig sicher sein kann das die Karte „LAN-Verbindung“ heißt. Gibt immer ein paar Helden die die Karte umbenennen oder es ist mal eine zweite Karte eingebaut worden, etc…

Dann wird der Name in den netsh-Befehl übergeben (dabei wird vorne und hinten noch Text abgeschnitten) – und fertig ist die Umstellung!

Einen Haken gibt es an der Sache: Ein normaler Benutzer hat nicht die Rechte die Netzwerkeinstellungen zu ändern. Da muss man ein wenig nachhelfen:

Es gibt da verschieden Wege: Man kann die Benutzer in die lokale Gruppe der Netzwerkkonfigurations-Operatoren mit aufnehmen (lässt sich per GPO machen) oder man gibt den Usern für diese Aktion lokale Admin-Rechte (per GPO) und entfernt diese nach der Aktion oder (so hab ich es gemacht) man lässt das Script in einem Login-Script mit Admin-Rechten laufen (z.B mit dem Tool RunasSPC http://www.robotronic.de/runasspc.html).

Mir hat es geholfen – hat super funktioniert 🙂

Update: Unter http://blog.devilatwork.de/dns-umstellung-per-batchfile/ hat das Script jemand noch ein wenig aktualisiert (und die ganzen XP-Altlasten entfernt).

Ich hatte letztens das Problem, dass sich bei einer Transition eines Exchange 2007 auf Exchange 2010 die Datenbank der Öffentlichen Ordner auf dem Exchange 2007 – nach erfolgreicher Replikation – nicht löschen lies…

Beim löschen des PublicFolder-Datastores kam folgender Fehler:

Die Öffentliche Ordner-Datenbank ‚Public-Ordner‘ kann nicht gelöscht werden.

Das Objekt ist schreibgeschützt, weil es mit einer zukünftigen Version von Exchange erstellt wurde: 0.10 (14.0.100.0). Die aktuelle unterstützte Version ist 0.1 (8.0.535.0).

Ich habe diese Datenbank dann über ADSIEDIT entfernt:

– Konfiguration -> Configuration -> Services -> Microsoft Exchange -> Exchange -> Administrative Groups -> CN=Exchange Administrative Group (FYDIBOHF23SPDLT) -> Server -> <Name des alten Servers> -> InformationStore

Dort sind die Speichergruppen aufgelistet. Einfach die Speichergruppe des Öffentlichen Ordners entfernen.

Danach hat sich mein Exchange 2007 wunderbar und ohne Fehler deinstallieren lassen 🙂