我只需要输出一个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
答案 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