トップ回答者
netshでWi-FiアダプタのDHCPを無効にできない

質問
-
皆様お世話になります。
質問ばかりで恐縮です。
社内LANを設定するスクリプトを改修中ですが、Wi-FiのDHCPを無効にできません。
最初はPowerShellのGet-NetIPInterfaceがおかしいのかと思ったら、netshでも同じでした。
C:\> netsh interface ipv4 set address wi-fi static 192.168.10.20 255.255.255.0 192.168.10.1
C:\> netsh interface ipv4 show address wi-fiインターフェイスの構成 "Wi-Fi"
DHCP 有効: はい
デフォルト ゲートウェイ: 192.168.10.1
ゲートウェイ メトリック: 1
インターフェイス メトリック: 50IPアドレスも表示されていませんが、GUIで見ると正しく設定されているように見えます。
イーサネットでは同じ方法でDHCPは無効になるのですが、Wi-Fiの場合は他に手順があるのでしょうか?
なお、GUIでIPアドレスを設定すればnetshで見たDHCPも無効になります。
Windows10 Pro 64bit バージョン1909 ビルド18363.449 です。
よろしくお願いします。
回答
-
以前、私もPowershellコマンドの「Set-NetIPAddress」・「New-NetIPAddress」・「Remove-NetIPAddress」や「netsh」コマンドで上手くIPアドレスが設定出来なかったことがあります。
※特にPowershellコマンド
その時はPowershell上からWMIを利用して設定することで上手くいったことはあります。
今回の環境で上手くいくかはわかりませんが、ご参考までの情報となります。
- 回答としてマーク M14Cluster 2020年11月6日 22:29
すべての返信
-
以前、私もPowershellコマンドの「Set-NetIPAddress」・「New-NetIPAddress」・「Remove-NetIPAddress」や「netsh」コマンドで上手くIPアドレスが設定出来なかったことがあります。
※特にPowershellコマンド
その時はPowershell上からWMIを利用して設定することで上手くいったことはあります。
今回の環境で上手くいくかはわかりませんが、ご参考までの情報となります。
- 回答としてマーク M14Cluster 2020年11月6日 22:29
-
miitsu777様、コメントありがとうございます。
とりあえず私の手順が間違っているわけではないですね。
WMIを使ったネットワーク設定は不勉強のため、今回は見送ります。
社内LANにDHCPサーバーは無いので、有効のまま使い、状態判定は想定した静的アドレスが設定されているかどうかだけ見ることにします。
ちなみに、従来のWi-Fiは社外でVPNを使用する運用しかなくDHCPだけで済んでいたのですが、社内の無線LANを申請したら、まさかの静的アドレスだった、ということで今回の改修です。
また、今回のスクリプトの改修でnetshを止めてPowerShellのコマンドレットで統一するつもりでしたが、DHCPが有効だとNew-NetIPAddressが失敗するので、諦めます。
妥協したスクリプトを昨日リリースしました。
ありがとうございました。
-
仕事は妥協しましたが、引き続き趣味で自宅PCで調べたところ、下記のコマンドでDHCPを無効化できました。
netsh interface ipv4 set global dhcpmediasense=disabled
(PowerShell コマンドレットは Set-NetIPv4Protocol -DhcpMediaSense Disabled)
ただし、GUIが同じ事をしているわけでは無さそうで、これが正しい手順かは不明です。
また、Wi-Fiルーターに接続していないときにIPv4でのみ発生する事象の様です。
一方、WMIによる設定も試しましたが、やはりDhcpMediaSense 左右されますし、Wi-Fiルーターに接続されていない状態ではEnableDHCP()が失敗します。(ReturnValue=84:IP not enabled on adapter.)
以上、素人調査結果でした。