PowerShell列表结果

时间:2017-09-20 17:20:13

标签: powershell proxy output invoke-command

我尝试列出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).

2 个答案:

答案 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中。