Benutzer mit den meisten Antworten
Powershell format-table Problem

Frage
-
Hallo,
ich habe versucht in Exchange folgenden Befehl auf der PS auszugeben:
Get-ActiveSyncDevice|ft UserDisplayName, DeviceType, DeviceOS -Autosize |Out-String -Width 4096und auch versucht mit Hilfe der $FormatEnumerationLimit Variablen die volle Länge der Felder zu erreichen. Leider ist mir das nicht gelungen. Format Table hat immer wieder die Spalte UserDisplayName abegschnitten und auf 64 Zeichen begrenzt. Wieso passiert das.
Danke für die Hilfe
- Bearbeitet Thomas Al Mittwoch, 13. Februar 2013 10:10
- Verschoben Raul TalmaciuMicrosoft contingent staff Donnerstag, 14. Februar 2013 08:21 PowerShell Thema
Antworten
-
Hallo,
ich habe es mir jetzt so gebastelt:
Get-ActiveSyncDevice | %{$result=$_.DistinguishedName.Split("=");$resultat=$result[3].Replace(",OU","");$resultat=$resultat.Replace("\","");Write-Host $resultat $_.DeviceModel}
Damit habe ich das was ich brauche.
Danke
- Als Antwort markiert Thomas Al Donnerstag, 21. Februar 2013 10:50
Alle Antworten
-
Hallo,
wir haben ein dediziertes Forum für PowerShell:
http://social.technet.microsoft.com/Forums/de-DE/powershell_de/threads
Ich habe den Thread dort verschoben.
Gruss,
RaulRaul Talmaciu, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Hallo !
In den folgenden Threads taucht diese Frage auch auf! Ungelöst!
http://social.technet.microsoft.com/Forums/nl-NL/exchangesvrtransport/thread/ce0f2289-1848-46a9-91b8-09d25188f59b
http://www.powershellcommunity.org/Forums/tabid/54/aft/6491/Default.aspx
Viele Felder im Active Directory sind auf 64 Zeichen begrenzt. Man Müsste das AD Schema zu diesem Feld auslesen, um nachzuschauen ob der Fehler nicht schon dort liegt und die Namen einfach vom AD verkürzt abgespeichert werden! ?Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum! -
Moin,
IMHO hat das Out-String nur Auswirkungen auif die gesamte Tabelle, aber nicht auf einzelne Feld.
Die Weite einzelner Felder kannst Du über eine Hash-Table mit dem Key "width" festlegen:
http://technet.microsoft.com/en-us/library/ee692794.aspx
Grüße aus Berlin schickt Robert
MVP Exchange Server -
Hallo,
Format-Table hat auch noch den -Wrap Parameter, probier das mal. Außerdem gibt es auch noch das cmdlet Format-Custom, vielleicht klappt's damit. Ich kann's leider nicht testen. Warum die Ausgabe abgeschnitten wird, hat, wenn ich mich recht erinnere, mit den Views zu tun, die automatisch bei bestimmten Objekttypen angewendet werden.
Die Format Cmdlet sollten übrigens immer die letzten in der Pipeline sein, weil damit die origianl Objekte "zerstört" werden.
Weitere Infos:
help Format-Table -Full
-
>das ist ja ein Wahnsinn, wenn ich das so darstellen soll. Ich teste es mal aus.
Ehrlich gesagt: Ja, es ist Wahnsinn - wahnsinnig gut und nützlich. :)
Die Idee mir den Hashtables und den vielen Möglichkeiten der Formatierung (Weiten, Zahlenformate, andere Befehle, Ausrichtungen, etc.) finde ich neben der Pipeline und den Objekten als eine der nützlichsten Dinge der PowerShell überhaupt. Gerade aus Sicht eines Admins kann man damit sehr mächtige Einzeiler bauen und trotzem ein schickes Ergebnis erzeugen. :)
Grüße aus Berlin schickt Robert
MVP Exchange Server -
Denn Probier mal das hier:
Get-ActiveSyncDevice | Select-Object @{Name='UserDisplayName';Expression={[String]$_.UserDisplayName}}, DeviceType, DeviceOS | Format-Table -Autosize
Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum!
- Bearbeitet Peter Kriegel Donnerstag, 14. Februar 2013 14:40
-
Hast du das Problem mittlerweile gelöst Thomas oder brauchst du noch Hilfe?
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort". -
Nein, das Problem besteht noch.
Kein Forum und kein Buch konnte das Problem lösen.
Es liegt wahrscheinlich daran, das dass DDisplayUserName max 64 Zeichen akzeptiert und bei der ft DisplayUserName in diese Form gepresst wird, egal ob die Lnge mehr oder weniger ist.
In diesem Fall wird einem die PS nicht weiterhelfen. Wahrscheinlich muss ich wieder zurück zu Linux.
Schade
-
welches Attribut im AD ist das denn genau? 'displayname'? Kann zumindest kein Attribut "DisplayUserName" in den SChema Beschreibungen finden. Das 'displayname' Attribut akzeptiert 256Zeichen. DisplayName AD Schema - MSDNDu hast ja auch so wie ich dich verstehe im AD mehr als 64Zeichen eingetragen, oder?
Kenn mich mit Exchange nicht wirklich aus, aber was gibt der Befehl aus? Sucht der in den Postfächern welche ACtiveSyncDevices eingetragen sind und dazu den displayname des Users? Dann bau dir doch ne Funktion, wo du das gewünschte Ergebnis mit get-ADObject und get-ADUser holst? Da kann ich z.B. mit format-table einen displayname > 64Zeichen formatieren mit.
Ansonsten wie ist das Ergebnis ohne format-Table, sondern mit format-list? oder nur mit select-object?
-
Hallo Thomas!
Ich habe im PowerShell.org Forum diese Frage noch einmal gestellt.
Dort treffen sich mehrere PowerShell Experten (MVP). Mal sehen was dabei heraus kommt!?
http://powershell.org/discuss/viewtopic.php?f=16&t=1320Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum! -
Hallo,
der Befehl Get-ActiveSyncDevice liefert das Attribut UserDisplayname mit dem entsprechenden Wert. Und dieses ist leider immer auf max 64 Zeichen begrenzt.
Im AD finde ich das Attribute unter dem ActiveSync Device nicht.
Ich nutze jetzt DistinguishedName und hole mir da den gewünschten Namen raus.
Danke
-
Hallo,
ich habe es mir jetzt so gebastelt:
Get-ActiveSyncDevice | %{$result=$_.DistinguishedName.Split("=");$resultat=$result[3].Replace(",OU","");$resultat=$resultat.Replace("\","");Write-Host $resultat $_.DeviceModel}
Damit habe ich das was ich brauche.
Danke
- Als Antwort markiert Thomas Al Donnerstag, 21. Februar 2013 10:50