KiZAN Blog

Enabling IoT Remote Server in Windows 10 IoT Core with PowerShell

Written by Mike Branstein | Sep 21, 2016 2:00:00 PM

This post is the eighth in 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 enable IoT remote server 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 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.

 

Check out our free, hands-on, IoT development workshop series!