With PowerShell Core 6.0 out of the gate, it's time to look ahead at what's in store for the command line and task automation tool. Apart from new security enhancements, the next major update will include some AI and the Internet of Things (IoT) capabilities.
The Jan. 10 general availability release of PowerShell Core 6.0 marked a big turning point for PowerShell.
Although the technology is synonymous with the Windows operating system, it now embodies Microsoft's recent efforts to supply developers and IT professionals with the tools they need to manage their increasingly cloud-based workloads, regardless of the operating system that greets them when they first log in. Thus, open-source PowerShell Core 6.0—not to be confused with the PowerShell that ships with Windows—is now available for Linux, Mac and Windows.
Looking ahead, Microsoft is working toward a 6.1 release for late June or early July 2018, according to Steve Lee, principal engineering manager of PowerShell at Microsoft. Before that happens, his group plans a "servicing release" that brings that adds .NET Core 2.0.5 compatibility.
One of Microsoft's aims for version 6.1 is to attain security parity with the Windows version of PowerShell, Lee stated in a blog post. "The original port of PowerShell stubbed out support for Device Guard/AppLocker because those APIs were not available on Nano Server," a lightweight, container-friendly version of the Windows Server operating system, he explained.
"This work will ensure that Device Guard/AppLocker policies are enforced in PowerShell Core 6.0 on Windows systems," Lee added. As their names suggest, Device Guard and AppLocker are security-enhancing features that administrators can use to place restrictions on the software that’s allowed to run on their systems. Also in the works is the ability to remotely run signed scripts that are accompanied by a trusted certificate.
Additionally, Microsoft plans to re-enable some cmdlets, or single-function commands, that missed the PowerShell Core 6.0 release. This is possible due to the recent release of the Windows Compatibility Pack for .NET Core, which resurrects some of the APIs that were left behind in the transition to .NET Core, Lee said.
Reflecting Microsoft's heavy investments in machine learning, the company is taking tentative steps to adding some AI-enabled helpers to the tool.
"A new area that we want to explore is leveraging the cloud and machine learning to provide inline suggestions at the interactive command-line," Lee said. "The two primary scenarios I want to target is to support both local and cloud based suggestions. This is a completely new area for the team, so expect the initial release to be limited, but something we can build upon going forward."
Another major technology trend affecting PowerShell Core's development is the IoT.
Building on the experimental support in version 6.0 for ARM devices running Windows 10 IoT or Raspbian, the Debian-based operating system used on Raspberry Pi devices, the company is working on a module that will allow PowerShell to interact with an IoT device's sensors. Once the module is on solid footing, Microsoft plans to work with the developer community to extend its capabilities.