Last Updated on May 17, 2026
These days, most people use wireless (Wi-Fi) for their internet connections on their computers at home and maybe even at the office. Now that most computers have built in wireless capabilities, its easier just to connect to a Wi-Fi hotspot rather than try and run an Ethernet cable from your router to your PC.
Once nice feature that comes with Windows is the ability to use your PC as a Wi-Fi mobile hotspot so you can share your internet connection with other devices. This way, you can share a single connection with things such as your smartphone, tablet or other computers rather than have to connect these devices to your network. One problem you may run into though is that when you reboot your computer, you will need to enable the mobile hotspot feature manually so your other devices can once again connect to your shared connection. In this article, we will be showing you how to automatically enable the wireless (Wi-Fi) mobile hotspot in Windows 11 on startup.
1. Disable the Mobile Hotspot
To begin this process you must verify that the mobile hotspot is currently turned off on your computer. Open the main Windows settings panel. Navigate directly to the Network & internet section on the left menu. Find the Mobile hotspot toggle switch and turn it completely off if it is still running in the background.

2. Download and Save the PowerShell Script
Automating this network feature requires running a custom PowerShell script every time your computer boots. You can download the pre-configured script file directly to your local drive. Open the downloaded file using a basic text editor like Notepad to review the raw code. Place this file in a permanent storage directory like C:\MyFiles\ right now. Moving this file later will completely break the automation process. The exact contents of this script are shown below for your reference.
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
}
 Function AwaitAction($WinRtAction) {
   $asTask = ([System.WindowsRuntimeSystemExtensions].GetMethods() | ? { $_.Name -eq ‘AsTask’ -and $_.GetParameters().Count -eq 1 -and !$_.IsGenericMethod })[0]
   $netTask = $asTask.Invoke($null, @($WinRtAction))
   $netTask.Wait(-1) | Out-Null
}
 Function SetHotspot($Enable) {
   $connectionProfile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()
   $tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)
    if ($Enable -eq 1) {
       if ($tetheringManager.TetheringOperationalState -eq 1)
       {
           “Hotspot is already On!”
       }
       else{
           “Hotspot is off! Turning it on”
           Await ($tetheringManager.StartTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])
       }
   }
   else {
       if ($tetheringManager.TetheringOperationalState -eq 0)
       {
           “Hotspot is already Off!”
       }
       else{
           “Hotspot is on! Turning it off”
           Await ($tetheringManager.StopTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])
       }
   }
}
 Function ToggleHotspot($Delay) {
   SetHotspot(1)
   sleep -seconds $Delay
   SetHotspot(0)
   sleep -seconds $Delay
   SetHotspot(1)
}
 ToggleHotspot(3)
Once you have the script downloaded, put it in a location where you want to keep it because if you move it later, you will need to adjust the location in the following steps to make it work again. We will place the script in the C:\MyFiles\ directory.
3. Create a New Scheduled Task
You must create a new background trigger to make the hotspot start automatically with Windows. Open the Windows Start menu and type Task Scheduler to launch the built-in automation utility. Click the option to create a brand new scheduled task from the right action pane. Type the word Hotspot into the name field to easily identify it later. The task defaults to your current user profile. Click the Change User or Group button if you need to run this under a different administrative account.

4. Configure the Startup Triggers
Navigate straight to the Triggers tab located at the top of the window. Click the New button to build your specific startup conditions. Set the task to trigger strictly at system startup from the primary dropdown menu. You must check the box to delay the task for one full minute. This gives Windows enough time to load the background network drivers properly. Check the box to kill the task if it runs longer than 30 minutes to prevent system hang-ups.

5. Define the PowerShell Action
Switch over to the Actions tab to tell Windows exactly what application to run. Click the New button and select Start a program from the action dropdown menu. Type powershell.exe directly into the main Program/script text box. You must point the utility to your exact script location next. Paste the full file path like C:\MyFiles\hotspot.ps1 straight into the Add arguments text box and click OK.

6. Review the Active Task
Click the final OK button to save your newly configured trigger. The Conditions and Settings tabs can remain entirely on their factory defaults. You should now see your custom hotspot command sitting safely inside the active Task Scheduler library. It will wait silently in the background until the next system reboot.

7. Reboot and Verify the Connection
Restart your computer completely to test your new automated script. Log into your Windows account and wait a full minute for the delay timer to finish. Open your main Windows network settings again. You will see the mobile hotspot toggle automatically flipped to the on position. Your external devices will immediately connect to the shared internet stream without any manual intervention.

You may also want to check out this article on how to prevent your mobile hotspot from turning itself off by itself.
For additional training resources, check out our online IT training courses.
Check out our extensive IT book series.






