ping多个服务器并以CSV格式保存

时间:2016-09-20 12:48:41

标签: powershell

我是PowerShell脚本新手,需要帮助。

我有一个带有服务器IPadd的txt文件,下面的脚本调用txt文件并以CSV格式显示服务器状态UP / Down。我需要的是获取CSV文件结果角色库,如果我在txt中添加行域控制器并提及IP地址,我得到结果域控制器 - 向下和IPAdd具有正确的状态。我也可以提到IPadd或主机名。需要您的帮助以获取包含主机名,IP地址和状态(带标题)(角色)

的CSV报告

脚本:

$Servers = Get-Content D:\test\ServerStatus.txt
$collection = $()
foreach ($server in $servers)

{
    $status = @{ "ServerName" = $server}
    if (Test-Connection -Computername $Server -Count 2 -ea 0 -Quiet)

    {
        $status["Results"] = "Up"
    }
    else
    {
        $status["Results"] = "Down"
    }

    New-Object -TypeName PSObject -Property $status -OutVariable serverStatus
    $collection += $serverStatus

}
$collection | Export-Csv -LiteralPath d:\ServerStatus.csv -NoTypeInformation

1 个答案:

答案 0 :(得分:3)

您必须使用以下内容将$collection初始化为数组:

$collection = @()

而不是:

$collection = $()