簡體   English   中英

Powershell - 只顯示向下 IP 個地址

[英]Powershell - Show only down IP addresses

需要一些幫助來調整此代碼,以便它只提供 IP 不 ping 的地址,並將導出到 CSV。目前,它輸出上下 IP,我想清理一些混亂。

$ping = (Test-Connection -ComputerName $comp.IPAddress -Count 1 -ErrorAction SilentlyContinue)
if($ping)
{
    $status = "Up"
}
else
{
    $status = "Down"
}

[pscustomobject]@{
    Location = $comp.Location
    IP = $comp.IPAddress
    Status = $status
} 

我曾嘗試操縱 $status 變量,但沒有任何運氣。 我確信這很簡單,我只是想念它。

# -Quiet means we just return a boolean true / false value
$ping = Test-Connection -ComputerName ($comp.IPAddress) -Count 1 -ErrorAction SilentlyContinue -Quiet
if(-not $ping) 
{
    # we only care about when it's down, so move the logic to return our object here
    [pscustomobject]@{
        Location = $comp.Location
        IP = $comp.IPAddress
        Status = 'Down'
    } 
}

阿拉姆斯,歡迎來到 SO!

如果連接斷開,Test-Connection 會返回 Null,所以...

    $ping = (Test-Connection -ComputerName $($comp.IPAddress) -Count 1 -ErrorAction SilentlyContinue)
    if($Null -ne $ping)
    {
        $status = "Up"
    }
    else
    {
        $status = "Down"
    }

還要注意 $Comp.IPAddress 周圍的 $(),這是為了確保解析器在運行命令的 rest 之前獲取 IPAddress。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM