DNS-Server unter Windows per Batch mit netsh ändern

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).

Öffentliche Ordner Datenbank lässt sich nicht entfernen

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 🙂

Gruppenmitgliedschaft von einem Benutzer auslesen

Will man, z. B. für ein Login-Script oder in einer Batch (oder einfach auf der Kommandozeile), rausfinden, ob ein Benutzer in einer bestimmten Gruppe ist hat man ja „früher“ gern die ifmember.exe aus den Windows 2003 ResouceKit Tools (Link) benutzt.

Doch leider funktioniert diese unter Windows Vista / 7 / 2008 / 2008 R2 nicht mehr (wegen dem UAC).

Hier kann man Bordmittel benutzen die in allen Windows-Vesionen funktioniert.

Hat man früher mit ifmember.exe folgendes gemacht:

ifmember Verwaltung
if errorlevel = 1 (
net use v: \\server\Verwaltung /persistent:yes
)

macht man jetzt einfach:

net user /DOMAIN %username% | find „Verwaltung“
if not errorlevel = 1 (
net use v: \\server\Verwaltung /persistent:yes
)

Funktioniert wunderbar!

TIPP: ein net user /DOMAIN %username% in der CMD zeigt alle Gruppenmitgliedschaften des Benutzers im ActiveDirectory an. So bekommt man schnell einen Überblick, in welcher Gruppe der Benutzer ist – oder nicht 😉

Outlook 2003 druckt nicht mehr, nachdem Internet Explorer 9 installiert wurde

Hatte letztens das Problem, das auf einem Windows 2008 R2, der als Terminalserver fungiert, nach der Installation vom Internet Explorer 9 kein Druck von eMails aus Outlook 2003 mehr möglich war..

Das Problem lässt sich wie folgt beheben:

In der Registry unter

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Printing

erstellet man einen DWORD-Wert „Force RTF Printing“ und setzt diesen auf 1.

Danach funktioniert der Druck wieder.

Beim Terminalserver muss man dies leider pro User machen – aber eine Gruppenrichtlinie hilft da Wunder 😉

Windows Explorer unter Citrix XenApp 6 bleibt nicht offen

Den Windows Explorer unter Citrix Xenapp 6 und 6.5 zu veröffentlichen ist ja eigentlich einfach.

Der Ablauf hierfür ist ja bekannt und auch nicht anders wie andere Programme…

Nur: er bleibt – wenn kein anderes Programm geöffnet ist – nicht auf!

Falls der Benutzer nur den Explorer starten will, schließt sich dieser sofort wieder.

Dies lässt sich beheben:

Einfach in der Registry unter

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\Wfshell\TWI

ein DWord anlegen mit dem Namen:

LogoffCheckerStartupDelayInSeconds

dazu setzt man noch den Wert 10

Der Fix funktioniert sofort – kein Neustart nötig!

Danach funktioniert der Aufruf des Explorers wieder wunderbar –

Quelle: http://forums.citrix.com/message.jspa?messageID=1461520

 

 

Shortcut des Tages: Shift + Rechtsklick in Windows

Shift-Taste / Umschalttaste http://de.wikipedia.org/wiki/Umschalttaste

Heute hab ich einen Shortcut in Windows 7 und Windows 2008 R2 exessiv benutzt, den ich vorher nicht kannte:

Shift + Rechtsklick auf ein Objekt:

Es kommt statt dem normalen “Rechtsklick”-Menü ein Menü mit 2 tollen neuen Einträgen:

In neuem Prozess öffen: Öffnet z. B. ein neues Explorer-Fenster in einem neuem Prozess.

Eingabeaufforderung hier öffnen: Öffnet eine Eingabeaufforderung im ausgewähltem Ordner.

Fand ich heute toll 🙂

Exchange 2007/2010: Mail-Verteiler von außen erreichbar machen

In Exchange 2007 und 2010 sind – anders als in 200/2003 – neue Mail-Verteilergruppen standardmäßig nur intern nutzbar.
Möchte man einen Verteiler einrichten, der von außen per Mail erreichbar ist, muss man dies ausdrücklich einstellen.
Anderenfalls erhält man diese Fehlermeldung:

#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required

Die Umstellung ist ganz einfach:

Um Externe zu erlauben öffnet man in der Exchange-Konsole (GUI) den Verteiler, dort die Registerkarte „Nachrichtenübermittlungseinstellungen“ und dort „Einschränkungen für die Nachrichtenzustellung“. Die dortige Einstellung „Authentifizierung aller Absender anfordern“ ist bei Exchange 2007 und 2010 standardmäßig für neue Gruppen aktiviert. Wenn der Verteiler von außen erreichbar sein soll, muss man den Haken entfernen.

Bei migrierten Gruppen ist dieser Hacken so, wie es in der Vorversion eingestellt war.

Nach Exchange-Migration funktioniert DirectPush / ActiveSync nicht mehr

Ich habe einen Exchange 2003 nach Exchange 2010 migriert. Alles für das DirectPush richtig eingestellt (ISA, Exchange, IIS..).. aber es funktionierte nicht.
Die Anmeldedatenüberpüfung am iPhone hat geklappt – das abholen der Emails hat mir das iPhone mit einem Fehler quitiert. Bei einem Windows Phone 7 war es ähnlich…

Ursache dieses Problems:

Der Benutzer hatte nach der Exchange-Migration nicht die nötigen Rechte im ActiveDirectory.

Lösung:

Man muss ähnlich vorgehen wie ich hier beschrieben habe.

Die Rechte des ActiveDirectory-Benutzers muss man neu setzen.

Dazu öffnet man auf das Snap-In Active Directory-Benutzer und –Computer und aktiviert unter Ansicht die Erweiterten Funktionen.
Danach wählt man den Benutzer aus, dessen DirectPush nicht funktioniert, und bearbeite die Sicherheitseinstellungen. Man muss in den Sicherheitseinstellungen des Benutzers das Häkchen bei „Vererbbare Berechtigungen des übergeordneten Objekts einschließen“ setzen.

Danach noch einen Moment warten -> dann sollte der Empfang auf dem Handy wieder funktionieren!

Unter Oracle einen User entsperren / sperren

Wenn man sich an einer Oracle-Datenbank anmelden will und folgenden Fehler bekommt:

ERROR:
ORA-28000: the account is locked

dann ist der Account gesperrt.
Den kann man ganz einfach wieder entsperren. Anmelden mit einen User mit genügend Rechten (oder mit dem sysdba) und folgendes ausführen:

alter user username account unlock;

Man kann natürlich genau so einen User sperren:

alter user username account lock;

Tipp: Um den Status eines Benutzer anzeigen zu lassen, kann man mittels

select USERNAME,ACCOUNT_STATUS,LOCK_DATE from dba_users where USERNAME=’Test’;

Damit erhält man eine Ausgabe, die wie folgt aussieht:

USERNAME ACCOUNT_STATUS LOCK_DATE
—————————————————————
Test              LOCKED                    14-OCT-10

So hat man einen kleinen Überblick über den Status des Users und seit wann der User gesperrt ist.