Azure AD Connect: Powershell-Befehle zur Einrichtung

Bei weiteren Azure AD Connect Einrichtungen stiess ich auf folgende, nützliche Befehle:

Export aller aktuellen UPN Anmeldenamen, und Proxy-Adressen:

Get-ADUser -Filter {Enabled -eq $true} -SearchBase "OU=Users,DC=DOMAIN,DC=local" -Properties * | Where {$_.proxyAddresses} | select SAMAccountname,UserPrincipalName, @{L='ProxyAddress_1'; E={$_.proxyaddresses[0]}},@{L='ProxyAddress_2';E={$_.ProxyAddresses[1]}},@{L='ProxyAddress_3';E={$_.ProxyAddresses[2]}},@{L='ProxyAddress_4';E={$_.ProxyAddresses[3]}},@{L='ProxyAddress_5';E={$_.ProxyAddresses[4]}},@{L='ProxyAddress_6';E={$_.ProxyAddresses[5]}} | export-csv C:\Temp\ExportV1.csv

 

Anpassen sämtlicher UPN Anmeldenamen:

Import-Module ActiveDirectory
$oldSuffix = "DOMAIN.local"
$newSuffix = "URI.ch"
$ou = "OU=Users,DC=DOMAIN,DC=local"
$server = "SERVER"
Get-ADUser -SearchBase $ou -filter * | ForEach-Object {
$newUpn = $_.UserPrincipalName.Replace($oldSuffix,$newSuffix)
$_ | Set-ADUser -server $server -UserPrincipalName $newUpn
}

 

Advertisements

Group Policy Definitions

Mit den Group Policy Definitions gibt Microsoft ja zu einem neuem Betriebssystem jeweils die aktuell gültigen Definitionen mit. Nachdem ein Kollege von mir diese Definitionen bei einem Kunden vom Stand „Windows 10 1607“ auf „Windows 10 1709“ aktualisierte, erhielten wir im GPO Editor folgende Fehlermeldung:

GPO

Richtlinienpräsentationsemelement "CSE_NOBACKGROUND" ... Präsentation "CSE_Drives" ... nicht vorhanden.

Das Problem: Microsoft hat gepatzt! In den „Administrative Templates“ für Windows 10 1703 und Windows 10 1709 fehlt (mindestens) das File „GroupPolicyPreferences.adml“ im Unterordner der entsprechenden Sprache. Nun gibt es zwei Szenarien:

  1. Die Version 1703 oder 1709 wurde als erste Version installiert
  2. Die Version 1703 und / oder 1709 aktualisierte eine bestehende Version

In erstem Szenario muss die Datei zuerst aus einer älteren Version kopiert werden (Links siehe am Ende des Artikels). Anschliessend muss diese noch angepasst werden (siehe Szenario zwei).

Im zweiten Szenario muss die Datei GroupPolicyPreferences.adml im Unterordner der entsprechenden Sprache, angepasst werden:

In Zeile 950 folgende Zeile einfügen (Deutsch):

<checkBox refId="CSE_NOBACKGROUND">Während regelmäßiger Hintergrundverarbeitung nicht übernehmen</checkBox>

GPO2

Original Englisch (Zeile 945):

 <checkBox refId="CSE_NOBACKGROUND">Do not apply during periodic background processing</checkBox>GPO3

Administrative Templates (.admx) for Windows 10 (1607) and Windows Server 2016

Administrative Templates (.admx) for Windows 10 Creators Update (1703)

Administrative Templates (.admx) for Windows 10 Fall Creators Update (1709)

Comodo PositiveSSL Wildcard Certificate zu Exchange 2016 hinzufügen

Ich habe in meinem Exchange 2016 Labor lange nach einem günstigen Nachfolger von startssl.com gesucht. StartSSL hat sich ja bei Firefox und Konsorten unbeliebt gemacht, weshalb ich das bisherige, auslaufende Zertifikat nicht mehr dort erneuert habe.

Ich wollte aber kein Zertifikat von einem der „Grossen“ wie GoDaddy oder so haben. Die sind für meine Zwecke schlicht zu teuer.

Nach einiger Suche, bin ich auf Cheapsecurity.com gestossen. Die bieten Zertifikate von diversen Herstellern an, unter anderem von Comodo. Auch diese CA ist nicht „ganz sauber“ wie mir scheint, dafür sind die Preise schlichtwegs zu tief. Für meine Zwecke aber ideal. Also habe ich mir ein Comodo PositiveSSL Wildcard Certificate zugelegt.

Auf den Prozess, ein Zertifikat zu beantragen, gehe ich hier nicht näher ein. Während des Prozesses muss man den private Key exportieren. Diesen habe ich in einem TextFile gesichert.

Als Ergebnis davon erhielt ich ein ZIP-File mit crt-Files drin: 3x von Commodo’s CA’s und mein eigenes.

Dieses Zertifikat beinhaltet aber keinen private-Key, und kann darum nicht direkt in Exchange verwendet werden. Damit Exchange das Zertifikat akzeptiert, muss OpenSSL heruntergeladen und installiert werden. Nun kann mit folgendem Befehl ein Zertifikat inklusive private Key erstellt werden:

openssl pkcs12 -export -out cert.pfx -inkey my.key -in STAR_domain_tld.crt

cert.pfx = Ausgabe-File (Zertifikat inkl. private key)

my.key = Textfile mit dem private key drin

STAR_domain_tld.crt = Zertifikats-File von cheapsecurity.com

Das damit entstandene File cert.pfx konnte ich danach erfolgreich in Exchange importieren.

Android Gerät Sichern (Backup)

Ich habe ein Samsung Galaxy S8, welches ich zwecks Reparatur einsenden muss. Dazu will ich es komplett löschen und zurücksetzen. Zuvor möchte ich natürlich eine Sicherung davon machen. Das ist anscheinend gar nicht so einfach.

Das Backup via Google Drive und Samsund Cloud habe ich aktiviert. Bisher habe ich mit diesen Diensten aber schlechte Erfahrungen gemacht.

Darum habe ich mich nach Backup-Tools umgesehen. Mein Favorit ist Titanium Backup. Damit die App korrekt funktioniert, wird root-Zugriff benötigt. Auf der Website ist ausserdem beschrieben, wie vor dem rooting ein Backup gemacht werden kann – für den Fall, das rooting schlägt fehl. Diese Anleitung habe ich genutzt, und mir ein Backup erstellt:

  1. Android Studio auf Windows PC installieren („Android Virtual Device“ muss nicht mit installiert werden). Nach dem Start des Android Studio werden die Komponenten installiert. Bei mir wurde der Pfad C:\Users\USERNAME\AppData\Local\Android\Sdk vorgeschlagen, welchen ich auch übernommen hatte. Im Unterverzeichnis „\platform-tools“ befindet sich auch die benötigte exe „adb.exe“.
    Da ich die exe oben zuerst nicht gefunden hatte, hatte ich mir nur die Command Line Tools heruntergeladen. Dies führte jedoch nicht zum Erfolg.
  2. Auf dem Android Gerät die App ES File Explorer File Manager (dämlicher Name, aber lassen wir das…) installieren
  3. Auf dem Android Gerät adb debugging aktivieren
  4. Auf dem Android Gerät unter „Developer Options“ „USB Debugging aktivieren
  5. CMD aus obigem Pfad starten
  6. Mittels folgendem Befehl das Backup starten:
adb backup -f C:\Temp\S8\FullBackup.ab -apk -all

Installation Azure AD Connect schlägt fehl

Eine frische Installation des Azure AD Connect Clients schlägt mit dem Fehler „Synchronization Service kann nicht installiert werden“ fehl.

Im Anwendungs-Eventlog ID 906

 "Error installing msi package 'Synchronization Service.msi'.
Full log is available at 'C:\ProgramData\AADConnect\Synchronization Service_Install-DATE-TIME.log'
. Extracted error message: ActionStart(Name=ProcessMachineDcomPermission,,)

Folgende Schritte (danke flyppdevportal.com) verhalfen zur Lösung:

  1. Login to the server
  2. Go into Component Services > Computers > My Computer
  3. Right click and select Properties.
  4. Click on COM Security tab.
  5. Under Access Permissions, select Edit Limits, don’t make any change, click OK to close.
  6. Under Launch and Activation Permissions, select Edit Limits, don’t make any change, click OK to close.
  7. Under Launch and Activation Permissions, select Edit Defaults, don’t make any change, click OK to close.
  8. Then click OK to close My Computer Properties.

Danach konnte der Wizard erfolgreich abgeschlossen werden.

Exchange Such-Index prüfen / rebuild

Bei einem Kunden konnte eine Shared Mailbox nicht mehr durchsucht werden (Exchange 2013, Outlook 2013). Ursache war ein korrupter ContentIndex auf dem Exchange Server.

Dies kann wie folgt geprüft werden:

Get-MailboxDatabaseCopyStatus -Server SERVERNAME | fl name,*index*

Bei den betroffenen DB’s wurde folgendes ausgegeben:

Name : Mailbox Database XXX\SERVERNAME
ContentIndexState : FailedAndSuspended
ContentIndexErrorMessage : The content index is corrupted.
ContentIndexErrorCode : 19

Der Index kann wie folgt neu aufgebaut werden:

Stop-Service MSExchangeFastSearch
Stop-Service HostControllerService

Verzeichnis mit der Endung „.Single“ im Datastore der DB löschen oder umbenennen

Start-Service MSExchangeFastSearch
Start-Service HostControllerService

Nun wird der Index neu erstellt. Dies kann je nach Grösse der DB sehr lange dauern. Mit dem obigen Befehl kann der aktuelle Status überprüft werden.

ContentIndexState : Failed
ContentIndexErrorMessage : The Microsoft Exchange Search Host Controller Service is not running on server
 SERVERNAME.
ContentIndexErrorCode : 15

Schlussendlich sollte das wie folgt aussehen:

ContentIndexState : Healthy

Zu diesem Thema noch ein interessanter Technet-Blog-Link:

https://blogs.technet.microsoft.com/outlooking/2014/04/28/understanding-search-scopes-in-microsoft-outlook/

Das ganze Prozedere ist hier beschrieben.

Ein Jahr „IT Blog Wildi“

Jub

Vor etwas mehr als einem Jahr habe ich den Entschluss gefasst, einen eigenen Blog zu betreiben. Seither habe ich 31 Beiträge erfasst, welche von 582 Besuchern 742 Mal besucht wurden.

Dies sind kleine Zahlen, aber für mich durchaus in Ordnung. Mein Ziel ist ja nicht, möglichst viele Visits zu haben, sondern meine Erfahrungen dokumentieren zu können. Wenn das dann noch jemand liest, und vielleicht sogar jemandem das Leben erleichtert (und ein paar graue Haare erspaart ;), auch gut.

Somit: Danke für’s lesen!