我尝试列出CSV或txt以下PowerShell命令的结果:
Show_Proxy.ps1
:
Invoke-Expression "netsh winhttp show proxy"
Server_Name.txt
:
Server01 Server02 Server03
$ServerList = Get-Content C:\temp\Server_Names.txt
Invoke-Command -FilePath C:\temp\Show_Proxy.ps1 -CN $ServerList
我确实看到了结果,但希望有一个文件列出服务器名称和天气它是否有代理服务器。
PS C:\Windows> $ServerList= Get-Content C:\temp\Server_Names.txt PS C:\Windows> Invoke-Command -FilePath C:\temp\Show_Proxy.ps1 -CN $ServerList Current WinHTTP proxy settings: Proxy Server(s) : Proxy_Server_Name:8080 Bypass List : Current WinHTTP proxy settings: Proxy Server(s) : Proxy_Server_Name:8080 Bypass List : Current WinHTTP proxy settings: Direct access (no proxy server).
答案 0 :(得分:2)
将命令输出解析为自定义对象(运行Invoke-Expression
时不需要netsh
):
$output = netsh winhttp show proxy
$null, $proxy = $output -like '*proxy server(s)*' -split ' +: +', 2
New-Object -Type PSObject -Property @{
'ComputerName' = $env:COMPUTERNAME
'Proxy' = if ($proxy) {$proxy} else {'direct'}
}
然后可以将结果导出为CSV:
Invoke-Command -FilePath 'C:\path\to\your.ps1' -ComputerName $ServerList |
Export-Csv 'C:\path\to\output.csv'
或以您喜欢的任何其他方式处理。
答案 1 :(得分:0)
您可以尝试使用Invoke-Command -filepath C:\temp\Show_Proxy.ps1 -cn $ServerList | Export-Csv -NoTypeInformation -Path results.csv
之类的内容将结果投放到CSV中。