コマンド プロンプト、PowerShell、またはバッチ ファイルを使用して、Windows 10 に組み込まれているホットスポットを有効/無効にする方法を探しています。GUI では、ネットワーク パネルの 3 番目のボタン (下の画像を参照) で簡単に実行できますが、自動化したいと考えています。
私はすでに数百のチュートリアルを見つけました新しいを作成しますホットスポットを使用していますnetsh
が、私の理解では、これは別のホットスポットを作成することになります。代わりに、すでに構成されているものを使用したいと思います。それとも、Windows 10 は同じものを使用して、毎回新しいホットスポットを作成しますが、その間は設定のみを記憶しますか?
少し遊んでみて、次のことを発見しました。
- 現在使用している WiFi ドライバーはホストされたネットワークをサポートしていません。 と入力すると、
netsh wlan show drivers
と表示hosted network supprt: no
されます。したがって、「一般的な」解決策としては、ドライバーを更新する必要があります。 - それでも、組み込みソリューションを使用して HotSpot を作成できます (画像を参照)。
- この HotSpot を有効にすると、Windows が追加の を作成するようです
Microsoft Wi-Fi Direct Virtual Adapter #x
。HotSpot を無効にすると、アダプタは消えます。
つまり、MS は、組み込みホットスポットに対して、バリアントとはまったく異なる手法を使用しているようですnetsh
。ここで再び疑問が湧きます。このホットスポットの有効化/無効化を (スクリプトによって) 自動化するにはどうすればよいでしょうか?
ベストアンサー1
ホスト ネットワーク (netsh wlan set hostednetwork ...
コマンドを使用して構成できます) と「新しい」モバイル ホットスポットは、内部的に異なるテクノロジを使用します。
あなたが言及している「新しい」モバイル ホットスポットを制御および構成するための WinRT API があります。PowerShell から呼び出すことができます。
次のコードスニペットでは、PowerShell の IAsyncOperation と IAsyncAction の Ben N. による await 関数は、こちらで参照できます。。
$connectionProfile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()
$tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)
# Be sure to include Ben N.'s await for IAsyncOperation:
# https://superuser.com/questions/1341997/using-a-uwp-api-namespace-in-powershell
# Check whether Mobile Hotspot is enabled
$tetheringManager.TetheringOperationalState
# Start Mobile Hotspot
Await ($tetheringManager.StartTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])
# Stop Mobile Hotspot
Await ($tetheringManager.StopTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])
のネットワークオペレータテザリングマネージャクラスを使用すると、ホットスポットの SSID とパスフレーズをプログラムで設定することもできます。