This post is the eighth of a series describing our automation efforts for provisioning Windows 10 IoT Core on a Raspberry Pi. To recap, KiZAN has a lab of 26 Raspberry Pi 2 boards running Windows 10 IoT Core. On a regular basis, we need to re-flash, provision, and configure the boards. When we perform the re-flash and provisioning process, it is manual, and consumes more time than we want to spend (up to 2 days). In this post, you’ll learn how to disable SoftAP in Windows 10 IoT Core with PowerShell.
Posts in this series:
- Find the IP Address of a Windows 10 IoT Core Device after Initial Flash with PowerShell
- Rename a Windows 10 IoT Core device with PowerShell
- Install WiFi drivers in Windows 10 IoT core with PowerShell
- Disable Windows Update in Windows 10 IoT Core with PowerShell
- Set the Screen Resolution in Windows 10 IoT Core with PowerShell
- Set the Time Zone in Windows 10 IoT Core with PowerShell
- Disable SoftAP in Windows 10 IoT Core with PowerShell
- Enable IoT Remote Server in Windows 10 IoT Core with PowerShell
In our quest to fully automate the provisioning of our Raspberry Pis, we’d like to enable the IoT remote server, which is disabled by default. When enabled this feature allows you to establish a remote desktop-like connection with an app named Windows IoT Remote Client application. This isn’t exactly remote desktop, but the remote client is a display for headed applications running on the device.
Similar to the SoftAP settings we disabled in the last post, there is no publically-defined API for enabling this feature, so we dug into Chrome developer tools again to sniff the API endpoint and request body. When enabling and disabling the IoT remote server, the device portal makes HTTP POST requests to /api/iot/remote/enable and /api/iot/remote/disable.
Making a REST Call to Enable IoT Remote Server
This REST API endpoint is secured with Basic authentication, so we re-used the
Invoke-AuthenticatedWebRequest method we created in our previous post. Using our previous work, a single line of The one line of code I need to do the web request is:
This is the contents of the response from the web request. A value of 200 means the request was successful.
The next post in the series will cover enabling the software TPM.
Many thanks to Ryan DiChiara, one of our summer interns for doing a lot of the legwork (and writing) this post!