我管理大量的服务器,我们已经建立了你可以ping通服务器名(DNS记录)的地方。我的一些服务器也有多个nics。所以我需要的是一个脚本,我可以ping多个服务器,它将返回该服务器的每个nic的ip地址。如果它可以导出到一个csv,那也会很好。检查多个服务器的IP地址多个nics powershell
0
A
回答
0
这会帮助你:
function PingServer($serverName)
{
(Test-Connection $serverName -Count 1 -ErrorAction SilentlyContinue).IPV4Address.IPAddressToString
}
$servers = "server1.com", "server2.com", "server3.com"
$hash = @{}
foreach($server in $servers)
{
$hash.Add($server, (PingServer $server))
}
$hash.GetEnumerator() | ForEach-Object { New-Object PSObject -Property @{ ServerName = $_.Key; IPAddress = $_.Value } | Select-Object -Property ServerName, IPAddress } | Export-CSV -Path c:\PST\1.csv -NoTypeInformation
您可能需要改变它有点多个网络接口的
0
在这里,这对我的作品,我用它来获取所有的IPv4从地址服务器。请记住,这个测试可以在尝试获取信息之前先对其进行测试,然后使用WMI获取所需的数据。
#Get NIC IP Addresses
Function Get-NICIPAddresses
{
param
(
$ComputerName
)
Try
{
$NICIPInformation = gwmi Win32_NetworkAdapterConfiguration -Filter "IPEnabled=TRUE" -ComputerName $ComputerName -ErrorAction "Stop"
}
Catch
{
Write-Host "$($_.exception)" -ForegroundColor Yellow
return $Null
}
return $NICIPInformation
}
$Computer = "127.0.0.1"
if (Test-Connection -Quiet $Computer)
{
#WMI IP Addresses
[array]$IPInformation = Get-NICIPAddresses $Computer
#IP Addresses
if ($IPInformation.Count -gt 0)
{
#Array to hold all IP Addresses
[array]$IPAddresses = @()
#Loop through the IP Addresses, look for all IP addresses that match the AddressFamily "InterNetwork" - AKA IPv4 - http://msdn.microsoft.com/en-us/library/system.net.sockets.addressfamily.aspx
foreach ($IPAddressInformation in $IPInformation)
{
#Use System.Net.IPAddress array to match the IP address values to acutal IP Addresses
$IPAddresses += [System.Net.IPAddress[]]$IPAddressInformation.IPAddress | ? {$_.AddressFamily -eq "InterNetwork"}
}
#Sort the values from smallest to largest IP addresses
$IPAddresses = $IPAddresses | % {$_.IPAddressToString} | Sort {"{0:d3}.{1:d3}.{2:d3}.{3:d3}" -f @([int[]]$_.split("."))}
#Return string results, or $Null depending upon input.
if ($IPAddresses.Count -gt 0)
{
$IPAddresses = $IPAddresses -Join " ; "
}
else
{
$IPAddresses = $Null
}
}
else
{
$IPAddresses = $Null
}
#Return NIC info
foreach ($NIC in $IPInformation)
{
$NIC
}
#Current IPv4 Addresses
$IPAddresses
}
相关问题
- 1. 单个容器的多个IP地址
- 2. 与IP地址的SQL服务器的多个连接
- 3. PHP SwiftMailer - 具有多个IP地址的服务器
- 4. 如何使用具有多个IP地址的服务器?
- 5. 在一台服务器上管理多个IP地址的多个域名
- 6. 带有多个NICS的WCF客户端必须使用特定的IP地址
- 7. 在一台Apache服务器上设置多个IP地址
- 8. 获取多个IP地址
- 9. 查找服务器的IP地址
- 10. 服务器的IP地址
- 11. PHP curl,检索服务器IP地址
- 12. 如何将多个IP地址映射到单个服务器的文件夹
- 13. 一个主机的多个IP地址
- 14. DNS服务器IP地址
- 15. tcp服务器ip地址
- 16. 如何在PowerShell脚本中检查不同服务器上的多个服务?
- 17. 一次有多少个IP地址可以访问Web服务?
- 18. 多个DHCP服务器的Powershell输出
- 19. 检查IP地址
- 20. 涉及多个NIC时的IP地址
- 21. 用户多个网卡的IP地址
- 22. 的MySQL允许从多个IP地址
- 23. 查询多个服务器
- 24. QTcpServer检索多个地址
- 25. 使用一个主机地址运行多个MySQL服务器?
- 26. 如何在单台服务器上运行多个IP地址的多个网站?
- 27. 在C中模拟多个IP地址#
- 28. Dns.GetHostEntry返回多个IP地址
- 29. 多个IP地址,挑选发件人
- 30. 泊坞窗多个ip地址
好的,谢谢我需要每个服务器名后的.com?还有哪部分标识了NIC? – BigCAT41 2012-03-19 15:50:43
@ BigCAT41追踪不同网卡的时候并不是那么容易,因为它可以ping通它 - 它从单个地址发送响应,不知道如何做到这一点。尝试玩 '(测试连接$ serverName - 计数1 - 错误行动SilentlyContinue).IPV4Address.IPAddressToString' – 2012-03-19 15:54:23
好的谢谢。我真的需要担心的是不同的IP地址,这就是为什么我需要跟踪所有的nics。 – BigCAT41 2012-03-19 18:55:45