DSC Resource Naming Guidelines

When DSC was announced at TechEd 2013, one of the goals was to “Create an ecosystem”. The ecosystem for DSC has grown tremendously in the last 4 years. At worldwide events for PowerShell (PowerShell + DevOps Global Summit, PowerShell Conference EU, PowerShell Conference Asia) there have been presentations lead by people actively using DSC to discuss real world, success, challenges, and… Read more

Prerelease Versioning Added to PowerShellGet and PowerShell Gallery

With the release of PowerShellGet 1.6.0, PowerShellGet cmdlets and the PowerShell Gallery have added support for prerelease strings for prerelease versions of modules and scripts. You can now publish items to the PowerShell Gallery with a version like 1.0.0-alpha, and you can download items identified as a prerelease. Items can be filtered using prerelease version… Read more

PowerShell Core 6 Release Candidate

PowerShell Core 6 Release Candidate Last year, we announced that PowerShell was not only Open Source, but also cross platform.  The finish line is in sight and we recently published the Release Candidate for PowerShell Core 6! PowerShell Team ♥ Community It has been an amazing experience for the team working with the community on PowerShell Core… Read more

DSC Resource Kit Release November 2017

We just released the DSC Resource Kit! This release includes updates to 10 DSC resource modules. In these past 6 weeks, 53 pull requests have been merged and 50 issues have been closed, all thanks to our amazing community! The modules updated in this release are: SecurityPolicyDsc xAdcsDeployment xComputerManagement xDnsServer xExchange xNetworking xPSDesiredStateConfiguration xSQLServer xStorage… Read more

Azure Automation DSC Pricing Flexibility

Today we would like to share a new flexible pricing strategy for managing server nodes using Azure Automation to deliver PowerShell Desired State Configuration, giving you greater control over costs of managing on-premises nodes. As you might already know, Azure Automation DSC (Azure DSC) is a managed service that is free when used to manage… Read more

PowerShell Constrained Language Mode

PowerShell Constrained Language Mode What is PowerShell Constrained Language? PowerShell Constrained Language is a language mode of PowerShell designed to support day-to-day administrative tasks, yet restrict access to sensitive language elements that can be used to invoke arbitrary Windows APIs. You can place a PowerShell session into Constrained Language mode simply by setting a property:… Read more

Defending Against PowerShell Attacks

The security industry is ablaze with news about how PowerShell is being used by both commodity malware and attackers alike. Surely there’s got to be a way to defend yourself against these attacks! There absolutely is. PowerShell is – by far – the most securable and security-transparent shell, scripting language, or programming language available. Our recommendations… Read more

Require License Acceptance Support in PowerShellGet

PowerShellGet version 1.5.0 has added support for module publishers to require explicit license acceptance from users before installing a module. This feature has been requested by several of our partners, in order to meet their legal requirements. If a user installs, updates, or saves a module using PowerShellGet, and the publisher of that module requires… Read more

Navigate Azure Resources Just Like a File System

At Microsoft Ignite (around 8:15 min), we announced the Public Preview of PowerShell in Azure Cloud Shell.  A unique feature of PowerShell experience in Azure Cloud Shell is navigation of Azure resources via the Azure drive (Azure:).  Today, we are making this feature available on PowerShell Gallery as well as making the source code available… Read more

Polaris – simple Microservices using only PowerShell

Polaris – Simple Microservices using only PowerShell Polaris is a cross-platform, minimalist web framework for PowerShell Core 6. With 6 lines of code, you have your very own webserver running and ready to accept requests – all within PowerShell: New-GetRoute -Path “/json” -ScriptBlock { $json = @{ Hello = “World”; TestingTesting = @(1,2,3); } $response.Json(($json… Read more