Code: Alles auswählen
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://Mailserver.Domain.local/PowerShell/ -Authentication Kerberos
Import-PSSession $Session -AllowClobber
$Devices = Get-ActiveSyncDevice | sort UserDisplayName
$Global:DeviceInformationArr = New-Object system.Collections.ArrayList
#Die Schleife ruft die Infos von jedem einzelnen Device ab
Foreach ($Device in $Devices) {
$DeviceObj = New-Object PsObject
$DeviceObj | Add-Member -MemberType NoteProperty "Benutzer" -Value $Device.UserDisplayName.Substring($Device.UserDisplayName.LastIndexOf("/")+1)
$DeviceObj | Add-Member -MemberType NoteProperty "Beschreibung" -Value $Device.FriendlyName
$DeviceObj | Add-Member -MemberType NoteProperty "Gerät" -Value $Device.DeviceType
$DeviceObj | Add-Member -MemberType NoteProperty "Modell" -Value $Device.DeviceModel
$DeviceObj | Add-Member -MemberType NoteProperty "System" -Value $Device.DeviceOS
$DeviceObj | Add-Member -MemberType NoteProperty "IMEI" -Value $Device.DeviceImei
$DeviceStat = $Device | Get-ActiveSyncDeviceStatistics
$DeviceObj | Add-Member -MemberType NoteProperty "letzter Sync" -Value $DeviceStat.LastSuccessSync
$DeviceObj | Add-Member -MemberType NoteProperty "Ordner" -Value $DeviceStat.NumberOfFoldersSynced
$DeviceObj | Add-Member -MemberType NoteProperty "ID" -Value $DeviceStat.DeviceID
$Global:DeviceInformationArr.add($DeviceObj) | out-null
}
$Global:DeviceInformationArr | ogv # <- Ausgabe im Grid
$Global:DeviceInformationArr | Export-Csv Deviceliste.csv # <- Ausgabe als CSV-Datei - Kann mit Excel geöffnet und bearbeitet werdenZunächst stellen wir eine Verbindung zu unserem Exchange-Server her, und holen uns dort die Daten aller ActiveSyncDevices.
In einer Schleife lesen wir die für uns interessanten Infos in ein Array ein, das wir dann im Datagrid ausgeben und als CSV-Datei speichern.
Im Beispiel der Username, die Gerätebeschreibung (da teilweise manuell Gepflegt), Gerätedaten, Betriebssystemversion, IMEI für eindeutige Zuordnung, der letzte erfolgreiche Sync, wie viele Ordner synchronisiert werden und die Geräte ID.
Ich hoffe ich konnte mit dem Skript den einen oder anderen Anreiz geben, selbst ein PowerShell Skript umzusetzen