Windows – Server

Active Directory-Replikation

Active Directory-Replikation

Wenn sich Domänencontroller nicht synchronisieren, äußert sich das häufig derart, dass sich Anwender nicht mehr an Ihrem PC anmelden können, oder dass andere Dienste zur Authentifizierung in Active Directory nicht mehr funktionieren. Treten Probleme in einem Active Directory auf, helfen einige kleine Tools in der Eingabeaufforderung um das Problem einzugrenzen:

•nltest /dsgetsite zeigt den Active-Directory-Standort des Domänencontrollers an

•Auch der Befehl nltest /dsregdns hilft oft bei Problemen in der DNS-Registrierung.

•Mit nltest /dclist:<NetBIOS-Domänennamen> lässt Sie sich den Namen des Domänencontrollers anzeigen, mit nslookup <Vollständiger Name des DC> muss der Name und die IP-Adresse verfügbar sein.

•Repadmin /showreps und repadmin /showrepl zeigen an, welche Domänencontroller sich nicht mehr replizieren können.

•Der Befehl dsquery server -hasfsmo rid|pdc|infr|schema|name zeigt die Betriebsmaster in der Eingabeaufforderung an.

•Um sich einen Überblick über alle Betriebsmaster einer Gesamtstruktur zu verschaffen, können Administratoren den Befehl netdom query fsmo in der Eingabeaufforderung aufrufen.

Cannot send anonymous E-Mails from WSUS using Exchange Server (EN)

In case while you’re tring setting up alerts in your WSUS Server you got the following error:

System.Net.Mail.SmtpException: Mailbox unavailable. The server response was: 5.7.1 Client does not have permissions to send as this sender
at Microsoft.UpdateServices.Internal.BaseApi.SoapExceptionProcessor.DeserializeAndThrow(SoapException soapException)
at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.SendTestEmail(String emailLanguage, String smtpUserName, String senderEmailAddress, String smtpHostName, Int32 smtpPort, String recipients)
at Microsoft.UpdateServices.Internal.BaseApi.EmailNotificationConfiguration.SendTestEmail()
at Microsoft.UpdateServices.UI.SnapIn.Dialogs.EmailNotificationSettingsDialog.backgroundWorker_DoWork(Object sender, DoWorkEventArgs e)

If you’re using Exchange Server as mail server and your receive connector have enabled both anonymous and integrated authentication, WSUS will authenticate as the computer account, for that reason it doesn0t accept the e-mail addres you’ve put it in (I suppose will never accept any e-mail adddress, until you got a „mailbox enabled computer account“ 🙂 ).

The 2 possible workaround are:

  • Create a service user account with permission to send e-mail and configure it into WSUS options
  • Modify Exchange connector/SMTP Server in one of the following ways:
    • Disable Integrated Authentication in the current Receive Connector (2007-2010) or SMTP Servwer (2003)
    • (2007-2010) Create a dedicated connector for the IP address of the WSUS Server that allow only TLS authentication and anonymous users

Windows Zeitdienst konfigurieren

Der Windowszeitdienst ist nicht nur auf Clients wichtig, damit man weiß, wann Feierabend ist, viel wichtiger ist der Zeitdienst auf Servern und Domain-Controllern, damit die Kommunikation stimmt, denn diese ist wegen des Aufbaus des Active Directorys auf eine präzise Zeit angewiesen.

w32tm auf Default zurücksetzen:

>net stop w32time
> w32tm /unregister
> w32tm /register
> net start w32time

w32tm auf Domänenhierarchie ausrichten:

>w32tm /config /syncfromflags:domhier /update
> net stop w32time
> net start w32time

w32tm auf externe Zeitquelle ausrichten:

>w32tm /config /manualpeerlist:“<DNS/IP> <DNS/IP>“ /syncfromflags:manual /reliable:yes /update
> net stop w32time
> net start w32time

w32tm mit aktuellen Einstellungen neusynchronisieren:

>w32tm /resync

w32tm Zeitverzögerung und Referenz überwachen:

für Domäne/DCs:

>w32tm /monitor /domain:<DOMAIN>

für bestimmte Computer:

>w32tm /monitor /computers:<DNS/IP>,<DNS/IP>

Darüber hinaus gibt es noch verschiedene Registry-Einträge, die die obigen Einstellungen wiederspiegeln.
Hierzu gibt es bei Microsoft eine gute Übersicht.

Produktschlüssel einer Exchange 2010 Installation sichern

Wenn einmal der Produktschlüssel für eine vorhandene Exchange 2010 Installation nicht mehr auffindbar ist, so ist es dringend angeraten, die Lizenz der vorhandenen Installation zu sichern.

Anders als bei anderen Microsoft Produkten, gibt es keinen Registry-Key, der den Lizenzschlüssel enthält.

Hier muss mit ADSIEdit gearbeitet werden. Dieses Tool befindet sich z.B. auf einem Domain-Controller.

Mit ADSIEdit ist nun eine Verbindung zur Domäne mit der Exchange 2010 Installation aufzubauen und die Configuration Partition auszuwählen.

Im sich nun eröffnenden Verzeichnisbaum, ist an die folgende Stelle zu navigieren: Services/Microsoft Exchange/[Org Unit]/Administrative Groups/Exchange Administrative Group/Server

Der Server dessen Produktschlüssel zu sichern ist, ist nun per Rechtsklick zu wählen und unter Eigenschaften/Properties die folgenden Werte zu kopieren (Texteditor Notepad reicht, allerdings ist darauf zu achten, dass die Zeichenketten korrekt angezeigt werden –> vereinfachtes Chinesisch):

msExchProductID (z.B. 01234-012-0123456-01234)- type (ca. 30 chinesische Zeichen)

Im Bedarfsfall sind die Werte an der gleichen Stelle wieder einzuspielen. Das System wird dann wieder als vollständig lizensiert behandelt

AD LDS mit AD DS synchronisieren

In Umgebungen, in denen Active Directory Informationen auch externen Systemen zugänglich gemacht werden sollen, kann der Windows eigene “Active Directory Lightweight Directory Service” verwendet werden. Dies ist vor allem aus Sicherheitsaspekten eine Möglichkeit, Verzeichnisinformationen über eine stark eingegrenzte Schnittstelle zu übertragen.

Grundlegend ist dazu auf einem Windows Server 2008 R2 die AD LDS Rolle zu installieren.

Ist der Dienst installiert, wird anschließend der AD LDS Wizzard ausgeführt, um die initiale Konfiguration anzulegen.

  1. Instanz: für      eine Single-Instanz oder die erste Instanz wird die Option “A unique      instance” ausgewählt
  2. Name: dieser      wird ein sprechender Name und bei Bedarf eine Beschreibung gegeben
  3. Ports: wird      die Instanz auf einem dedizierten Server betrieben, können die      Standardports für LDAP (389) und LDAPS (636) verwendet werden
  4. Partition: für      den Abgleich von AD DS und AD LDS muss eine Application Directory      Partition angelegt werden – diese kann dem Namensschema des ADs      entsprechen ([ou=container,]dc=domain,dc=tld)
  5. Pfade: die      Speicherpfade können – müssen aber nicht verändert werden
  6. Dienstkonto: wird      das AD LDS als Domänen-Mitglied betrieben, reicht der “Network service      account” aus – ist es AD unabhängig, muss hier ein LDAP/AD      leseberechtigter Account angegeben werden
  7. Administrator: um den      AD LDS zu verwalten ist der aktuelle Account oder ein anderer      Account/Gruppe zu wählen, die administrative Berechtigungen bekommen      sollen
  8. LDIF-Schemas:  je      nach Einsatzzweck sind hier verschiedene Schemas auszuwählen, die gleich      von Anfang an für diese Instanz zur Verfügung stehen sollen (diese können      später noch erweitert werden)
  9. Abschluss: nach      Sichtung der Einstellungen kann die Konfiguration abgeschlossen werden

Nun ist die LDS Instanz noch weiter zu konfigurieren.

  1. ggf.      sind weitere Schemas zu laden: ldifde -i -f c:windowsadamMS-adamschemaw2k8.LDF -s localhost:389 -c      „cn=Configuration,dc=X“ „#configurationNamingContext“
  2. Quell-      und Zielschema vergleichen:
    1. start       C:WindowsADAMADSchemaAnalyzer.exe
    2. File>Load       target schema –> den Quellserver auswählen (Bind type: Secure | Server       type: AD DS/LDS)
    3. File>Load       base schema –> den Zielserver auswählen (Bind type: Simple | Server       type: AD DS/LDS)
    4. Tools>Options       –> in dem “LDIF generation” -Tab “Update with references to new and       present elements” und “Allowed to write systemPossSuperiors and       systemAuxClasses as possSuperiors and auxClasses, if schema circular       dependencies exist” auswählen
    5. Schema>Mark       all non-present elements as included
    6. File>Create       LDIF file (z.B.: C:WindowsADAMyourSchema.ldif)
  3. Das      Schema installieren: ldifde -i -f c:windowsadamyourSchema.ldif -s localhost:389 -c      „cn=Configuration,dc=X“ „#configurationNamingContext“
  4. Die      C:WindowsADAMMS-AdamSyncConfig.XML anpassen (Editor)
  5. Die      C:WindowsADAMMS-AdamSyncConfig.XML installieren: c:windowsadamadamsync.exe      /install localhost:389 c:windowsadamMS-AdamSyncConf.XML
  6. Den Sync      anstossen: c:windowsadamadamsync.exe /force -1 /sync localhost:389      „dc=group,dc=on“ /log „c:LDS-Sync.log“

Abschließend ist noch ein Sync-Task einzurichten, damit das AD DS und das AD LDS bei Änderungen abgeglichen werden.

  1. einen      administrativen Account mit “Log on as a batch job”-Berechtigungen      (gpedit.msc>Computer Configuration>Windows Settings>Security      Settings>Local Policies>User Rights Assignment) anlegen, dieser      Account muss im AD auf die zu synchronisierenden OUs leseberechtigt sein
  2. Server      Manager>Configuration>Task Scheduler>Task Scheduler      Library>Create Task
    1. General-Tab: einen       Namen geben, den administrativen User eintragen, “Run whether user is       logged on or not”, “Run with highest privileges”, “Configure for:” hier das       vorliegende Betriebssystem auswählen
    2. Trigger-Tab:       Zeiteinstellungen, wann der Task laufen soll (z.B.: jeden Tag, aller 2       Stunden)
    3. Action-Tab: das       zu startende Programm/Befehl auswählen (siehe Punkt 6. “Sync anstossen”)
    4. Condition-Tab: alle       Optionen abwählen
    5. Settings-Tab:       “Allow task to be run on demand”, “Stop the task if it runs longer than:       1 hour”, “If the running task does not end when requested, force it to       stop”

OUs vor versehentlichem Löschen schützen

Ab Windows 2008 R2 Forest Functional Level gibt es die Möglichkeit, einzelne oder alle OUs vor versehentlicher Löschung zu schützen.

Für einzelne OUs kann man dies direkt in der GUI einrichten, in dem man unter Administartive Tools/Active Directory Users and Computers bei Ansicht die Advanced Features aktiviert und dann die entsprechende OU auswählt. Hier kann man unter den Properties/Object die Funktion Protect from accidetial deletion aktivieren.

Um das Feature generell für alle OUs zu aktivieren, setzt man unter Administartive Tools/Active Directory Module for Windows PowerShell (administrativer Nutzer erforderlich) folgenden Befehl ab:

Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true

Damit gibt auch der Best Practice Analyzer keine Fehlermeldung auf einem Windows 2008 R2 Domain-Controller mit Windows 2008 R2 Forest Functional Level.

(Quelle: http://technet.microsoft.com)

MS SQL Express – verbinden ohne Angabe des Instanznamens

Während der Installation einer MS SQL Express 2008 Instanz wird standardmäßig der Instanzname SQLExpress vergeben. Zur Verbindung mit der Instanz muss daher “localhostSQLExpress” bzw. “HostnameSQLExpress” angegeben werden.

Soll während der Anmeldung auf die Angabe des Instanznamens verzichtet werden, muss diese während der Installation umbenannt werden in MSSQLServer. Anschließend ist die Instanz über “localhost” bzw. “Hostname” erreichbar.

Java Update per Gruppenrichtlinie verhindern

Java prüft nach der Installation standarmäßig nach verfügbaren Updates. Hierzu wird die jusched.exe im Autostart ausgeführt:

Jusched.exe triggert im 2. Schritt das Update-Programm jucheck.exe an. Das Ausführen der juckeck.exe erfordert administrative Berechtigungen. Reguläre Wdindows 7 Benutzer können ein entsprechendes Popup-Fenster lediglich beenden.

Um Benutzern dieses nervige Popup zu ersparen, kann per Gruppenrichtlinie das Ausführen der jusched.exe verhindert werden:

1) >Computerkonfiguration >Richtlinien >Windows Einstellungen >Sicherheitseinstellungen >Richtlinien für Softwareeinschränkung  >Neue Richtlinien für Softwareeinschränkung erstellen >Zusätzliche Regeln
2) Neue Pfadregel erstellen
3) Pfad: C:Program FilesCommon FilesJavaJava Updatejusched.exe
4) Sicherheitsstufe: Nicht erlaubt
5) mit OK bestätigen
6) die per Default erstellten Regeln (%HKEY_LOCAL_MACHINE…) löschen

Trotz Ausführungsverhinderung der jusched.exe lässt sich aus der JAVA-Verwaltungskonsole (Systemsteuerung > Java >Reiter “Update”) manuell nach Java-Updates suchen.

Soll die Suche nach Java-Updates komplett verhindert werden, sollte zusätzlich eine Pfadregel mit dem Pfad “C:Program FilesCommon FilesJavaJava Updatejucheck.exe” erstellt werden.

Adobe Reader Update per Gruppenrichtlinie deaktivieren

Zum Deaktivieren der Adobe Reader Updatefunktion, lässt sich ein entsprechender Registry-Key verteilen:

1) >Computerkonfiguration >Einstellungen >Windows Einstellungen >Registrierung
2) >Neu >Registrierungselement
3) Aktion: Aktualisieren
4) Struktur: HKEY_LOCAL_MACHINE
5) Schlüsselpfad: SOFTWAREAdobeAdobe ARM1.0ARM
6) Name: iCheckReader
7) Werttyp: REG_DWORD
8 ) Wertdaten: 00000000
9) Basis: Hexadezimal

Externe Zeitquelle auf Domain Controller einrichten

Der Domain Controller, der die FSMO-Rolle des PDC-Emulators hält, wird innerhalb der Domäne als Zeitquelle publiziert. Dieser DC sollte wiederum mit einer externen Zeitquelle abgeglichen werden (im Beispiel mit den 3 Atomuhren der Physikalisch-Technischen Bundesanstalt). Diese Befehle müssen der Reihe nach auf der CMD ausgeführt werden:

     w32tm /config /syncfromflags:manual /manualpeerlist:”ptbtime1.ptb.de, ptbtime2.ptb.de, ptbtime3.ptb.de”

     w32tm /config /reliable:YES /update

     w32tm /resync

Anschließend sollten die Events 37 und 143 im Systemlog protokolliert werden. Schlägt die Synchronisation mit den externen Quellen fehl, sollte auf entsprechende Firewallregeln geprüft werden (NTP).