
116480
20.04.2016
Bei Befehl get-activesyncdevice schneidet es immer den userdisplame im exportierten File ab Server Exchange 2013
Hallo,
ich führe immer
C:\Windows\system32>Get-ActiveSyncDevice|Format-List userdisplayName, DeviceId, DeviceType, DeviceModel, DeviceOS, FriendlyName, Name >c:\temp\alleMobiles.txt in der Exchange Shell aus.
Aber das exportierte *.TXT file , auch bei CSV schneidet mir immer den USerdisplyname ab. Es lässt nur eine bestimmte Anzahl Zeichen zu.
File
Es müsste aber Thomas und Familename lauten.
Weiss wer was man da machen kann ? Oder gibt es nur "Name" den ich exportieren kann.
Ich möchte mit dem Befehl User und sein HAndy anzeigen lassen.
Gruss
RAlf
ich führe immer
C:\Windows\system32>Get-ActiveSyncDevice|Format-List userdisplayName, DeviceId, DeviceType, DeviceModel, DeviceOS, FriendlyName, Name >c:\temp\alleMobiles.txt in der Exchange Shell aus.
Aber das exportierte *.TXT file , auch bei CSV schneidet mir immer den USerdisplyname ab. Es lässt nur eine bestimmte Anzahl Zeichen zu.
File
UserDisplayName : xxxxx.local/Niederlassung/Zürich/Benutzer/Informatik/ISL/IC/Thom
Es müsste aber Thomas und Familename lauten.
Weiss wer was man da machen kann ? Oder gibt es nur "Name" den ich exportieren kann.
Ich möchte mit dem Befehl User und sein HAndy anzeigen lassen.
Gruss
RAlf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 302360
Url: https://administrator.de/forum/bei-befehl-get-activesyncdevice-schneidet-es-immer-den-userdisplame-im-exportierten-file-ab-server-exchange-302360.html
Ausgedruckt am: 20.04.2025 um 19:04 Uhr
11 Kommentare
Neuester Kommentar
Ich wollte ursprünglich schreiben, dass dies doch eine total triviale Sache ist und wollte das auch beweisen...
Die Lösung ist zwar aufwendig, aber nicht kompliziert
Anstatt den Namen des Users aus Get-ActiveSyncDevice herauszuholen (was btw. deprecated ist, benutz lieber get-mobiledevice) mach zuerst eine Abfrage aller Mailboxen, hol dir von dort mit einer foreach-Schleife die lesbaren Namen aus den Mailboxen heraus und reiche das Ganze dann weiter (via Pipeline oder Script) um die weiteren Variablen abzufragen.
Ich hab das ganze gleich als CSV File aufgebaut, damit man es in Excel einfach nur noch importieren kann:
Pfad, Name und Extension des Dokuments müssten natürlich nach angepasst werden....
Je nachdem wie viele AS-Devices es gibt kann der Vorgang auch länger dauern, wie man einen Fortschrittsbalken in PS macht, da gibt es sicher ein paar gute Tutorials für
lG
Die Lösung ist zwar aufwendig, aber nicht kompliziert
Anstatt den Namen des Users aus Get-ActiveSyncDevice herauszuholen (was btw. deprecated ist, benutz lieber get-mobiledevice) mach zuerst eine Abfrage aller Mailboxen, hol dir von dort mit einer foreach-Schleife die lesbaren Namen aus den Mailboxen heraus und reiche das Ganze dann weiter (via Pipeline oder Script) um die weiteren Variablen abzufragen.
Ich hab das ganze gleich als CSV File aufgebaut, damit man es in Excel einfach nur noch importieren kann:
$Mailboxes = Get-Mailbox -ResultSize Unlimited
$CSVFILE = "~\Documents\test.csv"
"MailboxName;DeviceID;DeviceType;DeviceModel;DeviceOS;FriendlyName;Name" | Out-File -FilePath $CSVFILE
foreach($Mailbox in $Mailboxes)
{
$DisplayName = $Mailbox.DisplayName
$ASDevices = Get-MobileDevice -Mailbox $Mailbox
foreach($ASDevice in $ASDevices)
{
$DeviceID = $ASDevice.DeviceID
$DeviceType = $ASDevice.DeviceType
$DeviceModel = $ASDevice.DeviceModel
$DeviceOS = $ASDevice.DeviceOS
$DeviceFriendlyName = $ASDevice.FriendlyName
$DeviceName = $ASDevice.Name
"$DisplayName;$DeviceID;$DeviceType;$DeviceModel;$DeviceOS;$DeviceFriendlyName;$DeviceName" | Out-File -FilePath $CSVFILE -Append
}
}
Pfad, Name und Extension des Dokuments müssten natürlich nach angepasst werden....
Je nachdem wie viele AS-Devices es gibt kann der Vorgang auch länger dauern, wie man einen Fortschrittsbalken in PS macht, da gibt es sicher ein paar gute Tutorials für
lG
Power-Shell Skripte werden wie Bash-Skripte ausgeführt, ansonsten werden sie nicht als Skripte sondern Prozedur/Funktionsaufrufe gedacht.
Wenn deine Datei mobiles.ps1 heißt dann führst du die Datei so aus:
.\mobiles.ps1 <ENTER>
Du kannst aber auch die Auto-Vervollständigung nutzen in dem du nur mob eingibst und dann so oft Tab drückst, bis dein Skript aufscheint und mit einem führenden .\ gezeigt wird.
lG
NACHTRAG:
Nicht vergessen, wenn's funktioniert bitte als "gelöst" markieren ;)
Außerdem muss das Skript in der Exchange Management Shell ausgeführt werden, in der normalen (blaue) Powershell wird das Skript nicht funktionieren
Wenn deine Datei mobiles.ps1 heißt dann führst du die Datei so aus:
.\mobiles.ps1 <ENTER>
Du kannst aber auch die Auto-Vervollständigung nutzen in dem du nur mob eingibst und dann so oft Tab drückst, bis dein Skript aufscheint und mit einem führenden .\ gezeigt wird.
lG
NACHTRAG:
Nicht vergessen, wenn's funktioniert bitte als "gelöst" markieren ;)
Außerdem muss das Skript in der Exchange Management Shell ausgeführt werden, in der normalen (blaue) Powershell wird das Skript nicht funktionieren
Ja, damit macht es auch genau das, was du in dem Skript angefordert hast 
Der Teufel liegt hier im Detail.
In Zeile 4 wird die erste Zeile für das neue File generiert, die Überschriften. Hier hast du "FirstSyncTime" definiert. CHECK OK
In Zeile 16 liest du den Parameter aus dem Exchange Objekt aus und übergibst es in eine Variable. CHECK OK
Zeile 18 hast du dann anscheinend übersehen, denn da werden erst alle Variablen auch in die Datei geschrieben. Modifizier die Zeile 18 mal so, dass du wirklich alle Daten, die du in dem File drinnen haben willst, auch in die Datei zurückgeschrieben wird
lG
Der Teufel liegt hier im Detail.
In Zeile 4 wird die erste Zeile für das neue File generiert, die Überschriften. Hier hast du "FirstSyncTime" definiert. CHECK OK
In Zeile 16 liest du den Parameter aus dem Exchange Objekt aus und übergibst es in eine Variable. CHECK OK
Zeile 18 hast du dann anscheinend übersehen, denn da werden erst alle Variablen auch in die Datei geschrieben. Modifizier die Zeile 18 mal so, dass du wirklich alle Daten, die du in dem File drinnen haben willst, auch in die Datei zurückgeschrieben wird
lG