2016-11-18 26 views
0

我需要在命令的輸出中添加一列。使用PowerShell在輸出結果中添加一列

上的終端服務運行的命令,並得到用戶的狀態

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

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

「查詢用戶」的輸出是:

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 

但我需要包括與日期時間當列運行命令,請參見:

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 

我曾嘗試使用

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

的命令,但它不工作...

回答

0

我做對劇本的改變和工作(我不得不從一個人的幫助)

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

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

因爲我需要的文件繼續原始佈局,並且我想將結果寫入txt文件中以前的結果。

0

包括在同一個文件中的新成果,只需要插入參數「-append」 更改最後一行的「$用戶|出文件C:\ users.txt -append」