[英]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.