2016-11-18 4 views
0

Ich muss eine Spalte in einer Ausgabe des Befehls hinzufügen.Hinzufügen einer Spalte im Ausgabeergebnis mit PowerShell

Der Befehl läuft auf einem Terminal-Dienst und erhalten ist, den Status des Benutzers

$users = Invoke-Command -ScriptBlock {query user} 

$users | Out-File c:\users.txt 

Die Ausgabe von „query user“:

USERNAME SESSIONNAME ID  STATE IDLE TIME LOGON TIME 
user1  rdp-tcp#1 272 Active   3  18/11/2016 04:09 
user2  rdp-tcp#24 277 Active  1:59 18/11/2016 06:05 

Aber ich brauche eine Spalte mit der Datumzeit enthalten, wenn Befehl ausgeführt wird, finden Sie unter:

USERNAME SESSIONNAME ID  STATE IDLE TIME LOGON TIME  EXEC TIME 
user1  rdp-tcp#1 272 Active   3  18/11/2016 04:09 11:00 
user2  rdp-tcp#24 277 Active  1:59 18/11/2016 06:05 11:00 

ich habe versucht, verwenden

012.351.
$users | Add-Member NoteProperty IName($fiel.Hour) 

im Kommando, aber es funktioniert nicht ...

Antwort

0

ich eine Änderung an dem Skript machen und funktioniert (ich hatte Hilfe von einer Person)

$scriptblock = 
(query user) | ConvertFrom-Csv | 
Select-Object *,@{n='Exec Time';exp={Get-Date}} 

$users = Invoke-Command -ScriptBlock {$scriptblock} 
$users | Out-File c:\users.txt 

Weil ich die Datei benötigen fahre mit dem ursprünglichen Layout fort, und ich möchte die Ergebnisse unter dem vorherigen Ergebnis in der txt-Datei schreiben.

0

neue Ergebnisse auf der gleichen Datei zu schließen, müssen nur die Parameter einfügen "-Append" die letzte Zeile "Benutzer $ | Out-File c: \ users.txt -Append" Ändern

Verwandte Themen