私は大量のサーバを管理しており、servername(DNSレコード)でpingできる場所を設定しています。私のサーバの中には複数のnicsもあります。だから私が必要とするのは、複数のサーバにpingできるスクリプトです。それは、そのサーバの各NICのIPアドレスとともに戻ってくるでしょう。それがCSVにエクスポートできれば、それは素晴らしいものになります。複数のサーバをチェックするip address複数の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
をあなたは、これは私のために動作し、私はAからのすべてのIPv4アドレスを取得するためにそれを使用し、それを複数のネットワーク・インターフェースここ
0
のビットを変更する必要がありますサーバ。このテストでは、情報を取得する前に最初にpingを実行し、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. powershell ip address csvファイル
- 2. 複数の重複レコードをチェックする
- 3. 複数のinstanceofチェック
- 4. powershellの複数行のコメント
- 5. ソケットと複数のIPアドレス
- 6. 複数のアプリケーションをアンインストールするPowerShell?
- 7. Foreachループの複数の変数[PowerShell]
- 8. Android複数のチェックボックスをチェック
- 9. 複数のサーバへのpostgresサーバのスケーリング
- 10. 複数列の重複エントリのチェックMySQL
- 11. 複数のMySQLサーバとコードネーム
- 12. NHibernate Search - 複数のWebサーバ
- 13. 1台のサーバに複数のIPを持つ目的は何ですか?
- 14. 複数の変数を設定するPowerShellのスイッチステートメント
- 15. 複数のパブリックIPと複数のプライベートIPを使用してGoogleクラウドコンピューティングインスタンスを作成する方法
- 16. preg_match複数のIPですか?
- 17. Apacheサーバ - 複数のディレクトリ、異なるエラーログ
- 18. 複数のドッカーコンテナを単一のIP上にWebサーバとして実装
- 19. PowerShellの - ウォッチ、複数のフォルダは、ファイル
- 20. C#の複数のIPアドレスにブロードキャスト
- 21. 複数のTomcatサーバにMavenをデプロイ
- 22. kube2sky複数のAPIサーバを持つkubernetes
- 23. 複数のPowershellプログレスバー(入れ子?)
- 24. ip address blocking
- 25. cURL ip address
- 26. ip address in java
- 27. Ajax pingスクリプト複数のIPアドレス
- 28. のMongoDB - 複数のサーバでホスティング
- 29. 複数のsyslogサーバへのログ - log4j
- 30. サーバ上の複数のgithubプライベートnpmリポジトリ
私は各サーバー名の後に.comが必要ですか?また、どの部分がNICを識別していますか? – BigCAT41
@ BigCAT41異なるNICをpingしたときと同じように追跡するのは簡単ではありません。単一のアドレスから応答を送信します。 '(Test-Connection $ serverName -Count 1 -ErrorAction SilentlyContinue).IPV4Address.IPAddressToString ' –
ありがとうございました。私が本当に心配する必要があるのは、なぜ私がすべてのNICを追跡する必要があるのかという異なるIPアドレスです。 – BigCAT41