我管理大量的服務器,我們已經建立了你可以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地址
- 3. 與IP地址的SQL服務器的多個連接
- 4. 導入多個IP地址
- 5. 如何使用具有多個IP地址的服務器?
- 6. 使用IP地址管理服務器上的多個用戶
- 7. PHP SwiftMailer - 具有多個IP地址的服務器
- 8. 在一臺服務器上管理多個IP地址的多個域名
- 9. 帶有多個NICS的WCF客戶端必須使用特定的IP地址
- 10. 在一臺Apache服務器上設置多個IP地址
- 11. 獲取多個IP地址
- 12. NSMutableURLRequest多個IP地址
- 13. 查找服務器的IP地址
- 14. 服務器的IP地址
- 15. 服務器的IP地址
- 16. PHP curl,檢索服務器IP地址
- 17. 如何將多個IP地址映射到單個服務器的文件夾
- 18. 一個主機的多個IP地址
- 19. 動態查找服務器IP地址
- 20. tcp服務器ip地址
- 21. DNS服務器IP地址
- 22. 如何在PowerShell腳本中檢查不同服務器上的多個服務?
- 23. 一次有多少個IP地址可以訪問Web服務?
- 24. 多個DHCP服務器的Powershell輸出
- 25. 如何知道哪個RIR服務器查詢IP地址?
- 26. 多個IP到一臺服務器
- 27. 檢查IP地址
- 28. 多個設備的相同IP地址?
- 29. 涉及多個NIC時的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