Powershell: wo wird da gekürzt?

Moin Experten,

ich hoffe, ich bin in diesem Brett richtig. Bei den Skriptsprachen wird man ja beim Thema Shell-Skripte direkt verjagt… :wink:

Also zuerst: ich bin absoluter Powershell-Laie! Ahnung=0.
Ich habe aber in den Weiten des I-Net ein kleines Powershell-Skript gefunden, das eine Abfrage ausführt, die ich dringend brauche.

Funktioniert auch - bis auf eine Sache: die Ausgabe in den einzelnen Spalten wird nach 22 Zeichen abgeschnitten.

Das sieht dann z.B. so aus:

xxx-xxx yyyyy {Telefonie, All Comput...

Könnte mal jemand über die paar Zeilen drüberschauen und mir sagen, ob es eine Chance gibt, dieses Abschneiden zu verhindern?

Gruß
Stefan

Hier das Skript:

[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")

$updateServer = "updateServerName"
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($updateServer,$false)
$groups = $wsus.GetComputerTargetGroups()

function Translate-ComputerTargetGroup($id){
 $groups | where {$\_.id -eq $id} | foreach {$\_.name}
}

$groupNames = @{n="ComputerGroups";e={ $\_.ComputerTargetGroupIds | foreach {Translate-ComputerTargetGroup $\_}}}
$Server = @{n="Server";e={ $\_.UpdateServer.name}}
$wsus.GetComputerTargets() | select FullDomainName,$Server,$groupNames

Hallo!
Ich bin zwar auch kein Powershell-Experte, aber ich sehe nicht, dass in dem von Dir geposteten Code irgendwas abgeschnitten wird.
Die Liste der Benutzergruppen wird anscheinend vollständig bestimmt und ihre Namen eingetragen.
Also kann das Problem nur noch an der Ausgabe liegen, von der ich aber im geposteten Code nichts sehe.

Gruß,
Martin

Hallo Martin,

danke für Deine Antwort.

Ich bin zwar auch kein Powershell-Experte…

Willkommen im Club! ;D

Also kann das Problem nur noch an der Ausgabe liegen, von der
ich aber im geposteten Code nichts sehe.

Ich habe mittlerweile einen Workaround gefunden: das Abschneiden ist offenbar abhängig von der Breite des Fensters. Wenn ich eine Dos-Box aufmache, die (zumindest im Puffer) 600 Zeichen breit ist und darin dann Powershell und dieses Skript aufrufe, dann werden die einzelnen Spalten breit genug das nichts mehr abgeschnitten wird.

Nicht schön, aber naja - es läuft. :confused:

Gruß
Stefan

moin moin,

das ist aber echt verwirrend.
Du meinst die Anzeige in deinem Shell fenster … lol wer soll denn darauf kommen. Ich dachte du meinst die daten als ergebnis , von mir aus in einer textdatei . Also werden die Informationen korrekt gesammelt, nur du schaust mit dem falschen werzeug drauf.

Hi,

das ist aber echt verwirrend.

Yep.

Du meinst die Anzeige in deinem Shell fenster … lol wer soll
denn darauf kommen. Ich dachte du meinst die daten als
ergebnis , von mir aus in einer textdatei .

Ja, das meinte ich auch. Ich schreibe die Daten mittels „>“ in eine Textdatei. Und die Ausgabe in dieser Datei ist abhängig davon, wie breit das Fenster ist, von dem aus es aufgerufen wurde. Das soll nun jemand verstehen… -__-

Gruß
Stefan

Hallo nochmal!

Hier: http://www.techotopia.com/index.php/Directing_and_Fo… findest Du ein paar Infos zur Ausgabeformatierung in PowerShell.

Gruß,
Martin

Lösung gefunden
Hier eine praktikable Lösung (nicht von mir gefunden):

Einfach ein

| export-csv 

hinten anhängen in der letzten Zeile.

Dann wird nichts abgeschnitten und man hat gleich eine saubere csv-Datei.

Danke an Alle!

Gruß
Stefan

Moin moin,

davon, wie breit das Fenster ist, von dem aus es aufgerufen
wurde. Das soll nun jemand verstehen… -__-

Ha ha , das ja noch besser . So eine art WYSIWYG output :smile: