Brosteins

Developers, Technology Evangelists, Bros.

Enable IoT Remote Server in Windows 10 IoT Core with PowerShell

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:

Overview

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.

enable-iot-remote

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!

Share

Leave a Reply

Your email address will not be published. Required fields are marked *