PowerShell使用列导出csv结果
我只需要有一个csv作为输出,在一列中有服务器的名称,在第二列中有命令的结果。我无法使用export-csv cmdlet,因为我使用的是旧版本的PS。非常感谢您的帮助PowerShell使用列导出csv结果,powershell,csv,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).En
$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
因此,然后在循环中使用字符串格式化程序,并使用-append输出文件。或者不要使用ForEach($servers中的server)并将其全部传输到out文件,但在构建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
有点不对劲。我返回了所有代码为0的服务器(有些服务器启用了UAC),这些服务器与文件输出无关,与您每次查询本地计算机的注册表有关。在执行Get-ItemProperty调用时,您从不引用其他计算机,它始终在本地计算机上完成。您在查询远程注册表方面没有寻求帮助,如果您需要帮助,请就此提出新问题。如果这解决了按需输出CSV的问题,请将答案标记为已接受,并继续使用更新的代码和问题打开新问题。