Powershell 脚本服务器 ping 输出
Powershell script server ping output
我有一段时间没有使用 powershell,但仍然了解基础知识。我正在尝试创建一个脚本,通过检查主机名 IP 地址来输出 csv 文件。如果主机名的 IP 地址正确,则输出 YES。如果主机名的 IP 错误,则输出 NO。我在这里和其他网站上搜索过,但没有成功。这是我所拥有的。任何帮助将不胜感激。感谢您提供一个很棒的社区! :
$names = Get-content "hnames.txt"
foreach ($name in $names){
if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue){
Write-Host "$name,up"
}
else{+
Write-Host "$name,down"
}
}
我会这样做:
# example data saved in .\compinfo.csv:
hname,ip
comp1,192.168.1.10
comp2,192.168.1.11
# importing the example data
$compinfo = import-csv .\compinfo.csv
$lookupData = foreach($comp in $compinfo)
{
$nslkup = [System.Net.DNS]::GetHostEntry($comp.hname)
$ping = (Test-Connection -ComputerName $comp.hname -Count 1 -ErrorAction SilentlyContinue)
if($ping)
{
$status = "up"
}
else
{
$status = "down"
}
if($nslkup.AddressList.IPAddressToString -eq $comp.ip)
{
$ipgood = $true
}
else
{
$ipgood = $false
}
[pscustomobject]@{
computerName = $comp.hname
expectedIp = $comp.ip
status = $status
goodIp = $ipgood
dnsName = $nslkup.hostname
}
}
$lookupData | export-csv .\lookups.csv -NoTypeInformation
我有一段时间没有使用 powershell,但仍然了解基础知识。我正在尝试创建一个脚本,通过检查主机名 IP 地址来输出 csv 文件。如果主机名的 IP 地址正确,则输出 YES。如果主机名的 IP 错误,则输出 NO。我在这里和其他网站上搜索过,但没有成功。这是我所拥有的。任何帮助将不胜感激。感谢您提供一个很棒的社区! :
$names = Get-content "hnames.txt"
foreach ($name in $names){
if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue){
Write-Host "$name,up"
}
else{+
Write-Host "$name,down"
}
}
我会这样做:
# example data saved in .\compinfo.csv:
hname,ip
comp1,192.168.1.10
comp2,192.168.1.11
# importing the example data
$compinfo = import-csv .\compinfo.csv
$lookupData = foreach($comp in $compinfo)
{
$nslkup = [System.Net.DNS]::GetHostEntry($comp.hname)
$ping = (Test-Connection -ComputerName $comp.hname -Count 1 -ErrorAction SilentlyContinue)
if($ping)
{
$status = "up"
}
else
{
$status = "down"
}
if($nslkup.AddressList.IPAddressToString -eq $comp.ip)
{
$ipgood = $true
}
else
{
$ipgood = $false
}
[pscustomobject]@{
computerName = $comp.hname
expectedIp = $comp.ip
status = $status
goodIp = $ipgood
dnsName = $nslkup.hostname
}
}
$lookupData | export-csv .\lookups.csv -NoTypeInformation