私は、エンタープライズ環境(IP、MACアドレスなど)で使用するためにコンピューター情報をプルする小さなPowerShell 3.0GWMIスクリプトに取り組んでいます。
WMIプロパティNetworkAdapterConfiguration
を調べて、予約済みIPと動的に割り当てられたIPを確認する方法があるかどうかを確認しようとしています。
これをWMIまたは他の場所から取得する方法について誰かアドバイスがありますか?(推奨)は常にIPがネットワーク上で予約されていることを示していますか?
私はPowerShellとAzureに関する多くの情報を見つけていますが、ローカルボックスでこれを理解するための情報はたくさんありません。
Ron Maupinが指摘したように、ホストコンピュータは、予約があったかどうかではなく、DHCPからアドレスが割り当てられたかどうかだけを認識します。ただし、アドレスを受信したDHCPサーバーは報告されます。したがって、そのサーバーにクエリを実行できます(読み取り権限がある場合)。
これは、WMIを介してコンピューターから情報を取得した後、予約が存在するかどうかをDHCPサーバーに確認するスクリプトです。
$ComputerName = "ExampleComputer"
$NetAdapters = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $ComputerName | ? {$_.DHCPEnabled -eq $True -and $null -ne $_.IPAddress}
If ($NetAdapters) {
Foreach ($Adapter in $NetAdapters) {
foreach ($IP in $Adapter.IPAddress) {
$Reservation = Get-DhcpServerv4Reservation -ScopeId $IP -ComputerName $Adapter.DHCPServer | ? {$_.ScopeId -eq $_.IPAddress}
If ($Reservation) {
Write-Output "$IP is reserved on $($Adapter.DHCPServer)."
} Else {
Write-Output "$IP does not have a reservation."
}
}
}
} Else {
Write-Output "No DHCP Enabled NetAdapters with IPAddresses exist on host, likely Static"
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加