我需要在命令输出中添加一列。
该命令在终端服务上运行并获取用户的状态
$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 :(得分: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文件中的上一个结果中。
答案 1 :(得分:0)
在同一个文件中包含新结果,只需插入参数" -Append" 更改最后一行" $ users | Out-File c:\ users.txt -Append"