Ermitteln von ActiveSync-Partnerschaften mittels AD-Powershell

- 12.09.2015
von Thomas Windscheif / Microlinc



Ab Exchange 2007 kann man relativ einfach mittels der Exchange Management Shell ActiveSync-Gerätepartnerschaften ermitteln.

Alternativ kann man auch ohne Exchange Management-Shell die Benutzer identifizieren, die
über eine Gerätepartnerschaft verfügen. Exchange legt bei der ersten fehlerfrei eingerichteten Gerätepartnerschaft unter dem Benutzer-AD-Objekt ein Objekt mit der Bezeichnung "ExchangeActiveSyncDevices" an. In diesen Ordner
werden u. A. die Gerätepartnerschaftsdaten gespeichert.

Einzige Voraussetzung ist das Vorhanden sein des Active Directory Moduls für Powershell.
Welches i. d. R. durch die Installation von RSAT mitinstalliert wird.

Einfache Abfrage (ADActiveSyncDevices)


Eine einfache Abfrage aller AD-Userobjekte mit Prüfung ob darunter das Containerobjekt "ExchangeActiveSyncDevices" mit entsprechenden mobilen Endgeräten liegt,
kann man mit folgendem Befehl erreichen:

Get-ADUser -Filter * | % {
Get-ADObject -filter {ObjectClass -eq "msExchActiveSyncDevice"} -SearchScope subtree -SearchBase ($_.DistinguishedName)
} |
Select-Object @{Name="DistinguishedName";Expression={
[string]($_.DistinguishedName).split(",",3)[2]}},
@{Name="Username";Expression={([string]$_.DistinguishedName.split(",")[2]).split("=")[1]}
}


Die Ausgabe ist wie folgt:






Mittels des Cmdlets Export-CSV können Sie das Ergebnis auch in ein Format überführen,
welches Sie mit Excel weiterverarbeiten können:





Das fertige PowerShell-Skript finden Sie als Download am Ende der Seite.



Abfrage mit den Deviceobjektattributen ADActiveSyncDevicesProperties


Wenn man etwas mehr Daten als bloß den Benutzernamen und den DN benötigt, kann man
folgenden PowerShell-Befehl verwenden:

$child=Get-ADUser -Filter * | % {
Get-ADObject -Filter {
ObjectClass -eq "msExchActiveSyncDevices"
} -SearchScope onelevel -SearchBase ($_.DistinguishedName)
}

$child | % {Get-ADObject -Filter {Objectclass -eq "msExchActiveSyncDevice"} -SearchBase $_.DistinguishedName -Properties msExchDeviceType, msExchDeviceModel, msExchDeviceOS, msExchDeviceFriendlyName, msExchDeviceIMEI,msExchDeviceID} |
Select-Object DistinguishedName, @{Name="Username";Expression={(([string]$_.DistinguishedName).split(",")[2]).split("=")[1]}}, msExchDeviceType, msExchDeviceModel


Hierbei werden die Attribute für das Gerätemodell, Gerätebetriebssystem, Gerätename,
die IMEI-Nummer, und die Exchange-Device-ID sowie der DistinguishedName und
der daraus extrahierte Benutzername aufgelistet.




Auch hier kann man die resultierenden Daten zur Weiterverwendung mittels Export-CSV
in eine CSV-Datei exportieren.

Die fertige PowerShell-Skriptdatei ist am Ende des Artikels als Download zu finden:

Über Feedback würde ich mich freuen.

aktuelle Downloads
Download ADActiveSyncDevices
-> ADActiveSyncDevicesV1.zip (Version 1.0) ~ 1 KB


Download ADActiveSyncDevicesProperties
-> ADActiveSyncDevicesPropertiesV1.zip (Version 1.0) ~ 1 KB
MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=7&lev2=15&lev3=&id=298 - Ausdruck vom 29.03.2024