Out-file-format
Ich bin ein Skript schreiben, dass nach jeder iteration durch eine Schleife (array der ausgewählten services) sammeln die 4 Werte für jeden Dienst, sind: server-name, service-name, service-Status-und service-start-name
Also für jede iteration, würde ich mag, um die Ausgabe der 4 genannten Werte in einer externen Datei (txt -, svc-oder html-Format), so dass jeder Wert angeordnet werden, in Ihrer eigenen Spalte. Derzeit ich verwenden Sie die Registerkarte `t in der Anordnung der Werte in jeder Spalte, aber es funktioniert nicht ganz so gut, weil einige service-name ist viel länger oder viel kürzer, so dass es Schrauben bis die Spalte Ausrichtung. Welche anderen Ansatz schlagen Sie vor, so sind alle Spalten korrekt ausgerichtet
Unten ist ein Ausschnitt von meinem script, wie ich derzeit-format die Ausgabe in eine txt-Datei
ForEach($service in services)
$startname = $service.startname
$state = $service.state
$servicename = $service.name
write-output "$server `t $servicename `t $state `t $startname is current" | out-file -append $ScriptDirectory
TXT wäre in Ordnung, solange es ist möglich, richten Sie alle Spalten korrekt
InformationsquelleAutor Khanh Le | 2013-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nur wollen, sichern Sie die Ergebnisse, um text in eine hübsch formatierte Weise (D. H. Sie don ' T haben, die Anforderungen für die Herstellung dieser CSV-oder tab-getrennte oder etwas anderes als "für eine person einfach zu Lesen"), dann verwenden Sie einfach
Format-Table -AutoSize
.AutoSize
genau das tut, was Sie wollen - es überprüft die Länge der alle Eigenschaften, die Sie ausgeben, dann dynamisch passt sich die Spaltenbreite so, dass möglichst viel angezeigt wird.Du nicht erklären, wo
$server
kommt, gehe ich davon aus, dass an anderer Stelle definiert ist...InformationsquelleAutor latkin
Anstelle der Verwendung von mehreren Variablen, die Verwendung eines Powershell-Objekts speichern Sie Ihre Ausgabe. So etwas wie dieses:
Müssen Sie eine Select-Objekt in der Kette zu gewährleisten, werden die Spalten in der richtigen Reihenfolge, die Sie für die endgültige Ausgabe.
$
vorservices
.InformationsquelleAutor Dave Sexton
Wenn Sie möchten, um die Variablen, die Sie könnten versuchen, die folgenden String-Formatierung, um Leerzeichen aus der Variablen in den string gleichmäßig. In dem Beispiel unten im Abstand von 20 Zeichen zwischen jedem Wert:
InformationsquelleAutor Richard
Es ist ein wenig unklar, was Sie suchen, wie einige der Eigenschaften des Objekts
Get-Service
gibt nicht existieren, wie geschrieben und der code scheint unvollständig. Einnahme eine Vermutung auf, Ihre Absicht aber:InformationsquelleAutor alroc