Skip to content

Instantly share code, notes, and snippets.

@datio
Last active March 23, 2024 07:13
Show Gist options
  • Save datio/e78649083f238b779f0a68526c191dda to your computer and use it in GitHub Desktop.
Save datio/e78649083f238b779f0a68526c191dda to your computer and use it in GitHub Desktop.
Enable Windows 10 & 11 WiFi Hotspot - Powershell Script
# https://stackoverflow.com/questions/45833873/enable-win10-inbuild-hotspot-by-cmd-batch-powershell/60444585#answer-60444585
[Windows.System.UserProfile.LockScreen,Windows.System.UserProfile,ContentType=WindowsRuntime] | Out-Null
Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and $_.GetParameters()[0].ParameterType.Name -eq 'IAsyncOperation`1' })[0]
Function Await($WinRtTask, $ResultType) {
$asTask = $asTaskGeneric.MakeGenericMethod($ResultType)
$netTask = $asTask.Invoke($null, @($WinRtTask))
$netTask.Wait(-1) | Out-Null
$netTask.Result
}
# https://stackoverflow.com/a/55563418
$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])
@mjoe67886
Copy link

Thanks I really appreciate it I just made a batch file that automatically keeps my wifi and my hotspot enabled out of it it checks every 5 seconds and I run it at startup with task scheduler.. So all my devices now have strong Internet my T V my iphone everything... You probably don't need it but if you want it I'll send it you could even put it up here so everybody can grab that too so they have strong Internet for all their devices...

@mjoe67886
Copy link

Isn't GPT 4 awesome I just made all this in fifteen minutes

@Yoda49
Copy link

Yoda49 commented Mar 23, 2024

Not work.
Exeption in call "CreateFromConnectionProfile"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment