質問: disabled)という 部分で イーサネットの接続、切断情報の取得と判定ができれば このスクリプトは動くはずです。 このような情報の取得コマンドについて教えていただきたいと思い、 質問を投稿させていただきました。 ### 環境 windows10 powershellについては経験ほぼ皆無です。 独力で解決できると思って、想像以上に検索に時間を溶かしてしまいました。 知恵をお貸しいただければ幸いです。
回答: こんにちは。 Windows 10のPowerShellであれば、`Get-NetAdapter`でネットワークアダプタの情報を取得できます。(`netsh interface show interface`に相当) そして取得した情報から`Disable-NetAdapter`、`Enable-NetAdapter`を使うことでアダプタの無効化、有効化を行えます。 細かい説明は省きますが、以下の様なスクリプトを「管理者として実行」してください。 ``` # 要管理者権限 # 「管理者として実行」してください。 $adapterName = 'イーサネット' # 無効にする $adapter = Get-NetAdapter -Name $adapterName if ($adapter.Status -eq 'Up') { $adapter | Disable-NetAdapter -Confirm:$false -Verbose } # 有効にする $adapter = Get-NetAdapter -Name $adapterName if ($adapter.Status -eq 'Disabled') { $adapter | Enable-NetAdapter -Verbose } ``` ちょっと追記 バッチファイルは苦手なんですが`findstr`で頑張れば`netsh`コマンドでも何とかできそうです。 お好きな方を選んでいただければと。 ``` REM 日本語環境が前提。 REM ほかの言語だとnetsh interfaceコマンドの結果が変わる REM 無効にする netsh interface show interface イーサネット | findstr /r "接続状態:.*接続" if %ERRORLEVEL% == 0 ( netsh interface set interface イーサネット disabled ) REM 有効にする netsh interface show interface イーサネット | findstr /r "接続状態:.*切断" if %ERRORLEVEL% == 0 ( netsh interface set interface イーサネット enabled ) ```