PowerShell使用列导出csv结果

时间:2014-07-22 22:28:28

标签: powershell csv

我只需要输出一个csv作为输出,其中一列中的服务器名称和第二列中的命令结果。我无法使用export-csv cmdlet,因为即时通讯使用旧版本的PS。非常感谢你的帮助!

$servers = Get-Content -path .\Server_List.txt

ForEach ($server in $servers)
{
(Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA
}
Out-File UAC_audit_results.csv

1 个答案:

答案 0 :(得分:1)

然后使用-append在循环和out-file中使用字符串格式化程序。或者不要使用ForEach($服务器中的$ server)并将其全部传输到out-file,但是你可以轻松地管理一个foreach循环,就像你构造它一样。只需确保首先添加标题行。

$servers = Get-Content -path .\Server_List.txt
"Server,Results"|Out-File UAC_audit_results.csv
ForEach ($server in $servers)
{
    $RegProp = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA
    "{0},{1}" -f $server, $RegProp|Out-File UAC_audit_results.csv -append
}

或者,(我认为更好),管道:

"Server,Results"|Out-File UAC_audit_results.csv
Get-Content -path .\Server_List.txt |%{"{0},{1}" -f $_, (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System |select -expand EnableLUA)}|Out-File UAC_audit_results.csv -append