Tags
What's All This Then?
This blog is where I will attempt to document my adventures in coding.
Installing Windows Server 2012 R2 Core - Additional Tools and Scripts
Installing Windows Server 2012 R2 Core - Additional Tools and Scripts
Remove all Uninstalled Feature Binaries
A quick article about trimming down a Windows Server 2012 install using the Features on Demand feature.
Cleaning Up Windows SxS Folder in Preparation for Imaging
Cleaning up the Windows SxS folder in preparation for imaging a Windows Server Core installation.
Tiered Storage Spaces Experimentation with PowerShell
Experimenting with Tiered Storage Spaces in Windows Server 2012 R2 using PowerShell.
Disk Cleanup and the joys of Features-on-demand
A quick article about installing the Disk Cleanup utility on Windows Server 2012 R2 Core Edition.
Certificate Web Enrollment on a Server and a Misleading Error Message
Certificate Web Enrollment on a Server and a Misleading Error Message
Using PowerShell to Install/Uninstall Microsoft Office Products by Group Policy
Using PowerShell to Install/Uninstall Microsoft Office Products by Group Policy
Multiple VHD/VHDx Optimization using PowerShell Workflows
Optimize multiple VHD/VHDx files using PowerShell Workflows.
Clear All Windows Event Logs
A quick PowerShell command to clear all Windows Event Logs.
Get DSC Configuration from a Remote Host using an SSL Connection
Get DSC Configuration from a Remote Host using an SSL Connection
Best New Feature of Windows 10?
A quick article about the best new feature of Windows 10.
DSC Tools- Hopefully Making DSC Easier
A PowerShell module to help with setting up DSC Pull Servers and configuring Local Configuration Manager (LCM) on the nodes.
Install Windows Server Nano the Easy Way
A quick article about installing Windows Server Nano the easy way.
Reporting on File, Folder and Share Permissions and how they Change
A PowerShell module to report on file, folder and share permissions and how they change.
WSUS - Declining all Superceded Updates - NOW!
A quick PowerShell script to decline all superceded updates in WSUS.
PowerShell Paramters in GPO Scripts
A quick article about PowerShell parameters in GPO scripts.
Installing Windows Management Framework 5.0 with a GPO
A quick article about installing Windows Management Framework 5.0 with a GPO.
Setting the Computer Name installing Nano Server bug resolved
Setting the Computer Name installing Nano Server bug resolved
New-NanoServerVHD Updated to support changes in Convert-WindowsImage
New-NanoServerVHD Updated to support changes in Convert-WindowsImage
A Minor Irritation with VHDs and Dynamic Disks
A minor irritation with VHDs and Dynamic Disks in PowerShell.
Force WSUS to Synchronize Now from PowerShell
A quick PowerShell command to force WSUS to synchronise now.
PowerShell Modules Available in Nano Server
A look at the PowerShell modules available in Nano Server.
Enable Device Naming on all Virtual Net Adapters on a VM Host
Enable Device Naming on all Virtual Net Adapters on a VM Host
Your account settings are out of date in Windows 10 Universal Mail App
A quick fix for the 'Your account settings are out of date' error in the Windows 10 Universal Mail App.
Replace NETSH TRACE START with PowerShell
Replace NETSH TRACE START with PowerShell
Prevent Template Virtual Machines from Accidentally Being Booted
A quick tip to prevent template VMs from being booted.
Nano Server Technical Preview 3 Available Now!
A look at the new features in Nano Server Technical Preview 3.
Comparing Objects using JSON in PowerShell for Pester Tests
A quick tip on how to compare objects in PowerShell using JSON for Pester tests.
PowerShell Cmdlets Available in the Containers Module on a Nano Server
A list of all the cmdlets available in the Containers PowerShell module on a Nano Server.
RSAT for Windows 10 is now Available!
You can finally download Remote Server Administration tools for Windows 10.
How to Use Containers on Windows Nano Server
A guide to using containers on Windows Nano Server.
Docker and Containers on Nano Server Continued
A look at the process of creating containers on Windows Nano Server.
Detach from a Docker Container Without Stopping It
A quick tip on how to detach from a Docker container without stopping it.
Install all DSC Resources in a Repository
A quick tip on how to install all DSC resources in a repository.
The Demise of SMB1 in the Windows Stack
A quick article about the demise of SMB1 in the Windows stack.
WMF 5.0 Production Preview is Available
The Windows Management Framework 5.0 Production Preview is now available for download.
Advanced Certificate Services Configuration with DSC
Advanced Certificate Services Configuration with DSC
Convert a Domain Name to a Distinguished Name in PowerShell
A quick PowerShell snippet to convert a domain name to a distinguished name.
Get the IP Address of a VM Attached to an External Switch
A quick PowerShell command to get the IP address of a VM attached to an external switch.
PowerShell DON'T of the Week - $Switch in a Switch { }
A quick tip about the $Switch variable in PowerShell.
Installing a Two-Tier PKI using nothing but Desired State Configuration - Part 1
A post about using Desired State Configuration to install a two-tier PKI.
Installing a Two-Tier PKI using nothing but Desired State Configuration – Part 2
Continuing on from Part 1, this article covers the installation of the Subordinate CA and the issuing of the Subordinate CA certificate by the Root CA.
New PowerShell Icon in Windows 10 Build 10547
A quick article about the new PowerShell icon in Windows 10 build 10547.
Install an SSL WS-Management Listener with GPO
A quick article about installing an SSL WS-Management Listener with GPO.
NAP, DHCP and Windows 10 - Nope!
A quick article about NAP and Windows 10.
Creating WS-Man Listeners with DSC
A quick article about creating WS-Man listeners with Desired State Configuration.
Programming Sucks
A funny article about programming.
Windows Distributed File System DSC Resource
A DSC Resource for configuring Windows Distributed File System Replication Groups.
Distributed File System DSC Resource Update
A quick article about the new ContentPaths parameter in the cDFSRepGroup DSC resource.
IPv6, DHCP and Get-NetIPInterface - DHCP State can be WRONG!
A quick article about a bug in Get-NetIPInterface that misreports the DHCP state of IPv6 interfaces.
DSC Resource Kit Updates are Available
The Microsoft DSC Resource Kit has been updated with a bunch of new stuff.
File Server Resource Manager (FSRM) Quotas DSC Resource
A DSC Resource for managing FSRM Quotas.
File Server Resource Manager (FSRM) File Screen DSC Resource
A quick article about the new cFSRMFileScreen DSC resource for configuring File Screens, File Screen Templates and File Screen Exceptions.
NanoServer Container Base Image - It does Exist...Somewhere!
A really interesting video from Microsoft was just released with Mark Russinovich (CTO of Azure if you don't already know) demonstrating Windows Server Containers.
File Server Resource Manager (FSRM) Classifications DSC Resource
A quick article about the new cFSRMClassifications DSC resource for configuring FSRM Classifications.
How to tell if a PowerShell variable has not been Declared
A quick PowerShell snippet to check if a variable has not been declared.
WFAS Firewall Rules Group vs. DisplayGroup
A quick article about the relationship between the Group and DisplayGroup parameters of a Firewall Rule.
Pester as an Operation Validation Framework
A quick article about Pester as an Operation Validation Framework.
Windows 10 Build 10586 - PowerShell Problems
PowerShell Direct and DSC problems in Windows 10 Build 10586.
PowerShell Language Support in Visual Studio Code
PowerShell language support in Visual Studio Code.
Windows Server 2016 TP4 is available
Windows Server 2016 Technical Preview 4 is available for download.
Nano Server TP4
A quick article about Nano Server TP4.
Get the BIOS GUID of a Hyper-V VM
How to get the BIOS GUID of a Hyper-V VM from the Host OS using PowerShell.
File Server Resource Manager DSC Resource
A quick article about the new cFSRM DSC resource for configuring File Server Resource Manager.
Creating Professional DSC Resources -Part 1
A guide to creating professional DSC resources.
Creating Professional DSC Resources - Part 2
Creating Professional DSC Resources - Part 2
Creating Professional DSC Resources - Part 3
Creating Professional DSC Resources - Part 3
Creating Professional DSC Resources - Part 4
Creating Professional DSC Resources - Part 4
Windows Management Framework (WMF) 5.0 RTM Available
Windows Management Framework (WMF) 5.0 RTM is now available for download.
Markdown Preview in Visual Studio Code
A look at the Markdown preview feature in Visual Studio Code.
Creating Professional DSC Resources - Part 5
Creating Professional DSC Resources - Part 5
Creating Professional DSC Resources – Part 6
Creating Professional DSC Resources – Part 6 - Unit Testing Completion
WMF 5.0 Download Removed from Download Center
Microsoft has removed the WMF 5.0 RTM download from the download center because of a significant bug.
Remove an iSCSI Target Portal with PowerShell
A quick article about removing an iSCSI Target Portal using PowerShell.
Speed up iSCSI PowerShell cmdlets
A quick tip about speeding up iSCSI PowerShell cmdlets.
Creating Professional DSC Resources – Part 7
Creating Professional DSC Resources – Part 7
Creating a Chocolatey Package in AppVeyor CI
Creating a Chocolatey Package in AppVeyor CI
Windows Management Framework 5.0 (WMF) RTM re-published
The Windows Management Framework 5.0 (WMF) RTM has been re-published to fix the PSModulePath issue.
Building a Enum that Supports Bit Fields in PowerShell
Building a Enum that Supports Bit Fields in PowerShell
PowerShell V5 New Feature: Protect/Unprotect-CmsMessage
PowerShell V5 New Feature: Protect/Unprotect-CmsMessage
Creating a Cloneable Class in WMF 5.0
Creating a Cloneable Class in WMF 5.0
Configure iSNS Server in an iSCSI Initiator with PowerShell
Configure iSNS Server in an iSCSI Initiator with PowerShell
Configuring iSCSI and iSNS with DSC
Configuring iSCSI and iSNS with DSC
Nano Server - CIM or WMI?
A quick article about Nano Server and the CIM cmdlets.
Which Physical Network Adapters are bound to Virtual Switches?
A short PowerShell script to find out which physical network adapters are bound to Hyper-V Virtual Switches.
Install Jenkins on Windows Server Core - Part 1
A simple script to install Jenkins on Windows Server Core.
Install Jenkins using DSC – Part 2
A DSC configuration to install Jenkins on Windows Server Core.
Get an Array of Localized Hyper-V Integration Service Names
Get an Array of Localized Hyper-V Integration Service Names
Install a VMWare ESXi 6.0 Hypervisor in a Hyper-V VM
Install a VMWare ESXi 6.0 Hypervisor in a Hyper-V VM
Nano Server Packages in Windows Server 2016 TP5
A quick snapshot of the package list for Nano Server in Windows Server 2016 TP5.
cDFS moving to the PowerShell Team
Just a Friday afternoon heads up - if you're using the cDFS DSC Resource I created to manage Windows Server Distributed File System (Replication and Namespaces), it has now been accepted into the PowerShell Community resources and will be under the control of the PowerShell Team.
cDFS is dead, long live xDFS
The xDFS DSC resource module has been officially released to the PowerShell Gallery thanks to the awesome review efforts of the Microsoft PowerShell Team. The cDFS DSC Resource has now been unlisted from the PowerShell Gallery.
Using a Windows Virtual NAT with a Hyper-V Lab
Using a Windows Virtual NAT with a Hyper-V Lab
Bulk Updating Nano Servers using PowerShell and CIM
A short PowerShell snippet to update multiple Nano Servers using CIM and Windows Update.
DSC Resource Kit - Anniversary Release
The latest DSC Resource Kit (all your favorite DSC Resources in one handy pack) is available now. It is one mighty release with all sorts of awesomeness included! I strongly recommend picking it up if you're doing DSC automation, as it has something for everyone.
VisualStudio and ISE Steroids Vertical Guides
To make it easier for reviewers and other programmers to read PowerShell code it is recommended that lines of PowerShell code don't exceed 100 characters. If you run past this limit you should usually split the line using a backtick (`).
Allow PowerShell to Traverse a Secure Proxy
A solution to allow PowerShell to traverse a secure proxy.
Failed to Start Docker Service on Windows 10 AE
A quick article about a problem I encountered when trying to start the Docker Service on Windows 10 Anniversary Edition.
Tips for HQRM DSC Resources
A list of issues I encountered when submitting my DSC Resources to the Microsoft DSC Community Resource Kit. This may help you avoid the same issues.
Export a Base-64 x.509 Cert using PowerShell on Windows 7
Exporting a Base-64 Encoded x.509 certificate using PowerShell is trivial if you have the Export-Certificate cmdlet available. However, many of the nodes I work with are Windows 7 which unfortunately doesn't include these cmdlets.
Easily Create a Hyper-V Windows Server 2016 AD & Nano Server Lab
In this article I'll show how to use a configuration sample that will build a lab containing the following servers: 1 x Windows Server 2016 RTM Domain Controller (with DNS), 1 x Windows Server 2016 RTM DHCP Server, 1 x Windows Server 2016 RTM Certificate Authority Server, 1 x Windows Server 2016 RTM Edge Node (Routing and Remote Access server), 8 x Windows Server 2016 RTM Nano Servers (not yet automatically Domain Joined - but I'm working on it).
Install Docker on Windows Server 2016 using DSC
A simple DSC configuration to install Docker on Windows Server 2016.
Continuously Testing your Infrastructure with OVF and Microsoft Operations Management Suite
A guide to using OVF and Microsoft Operations Management Suite to continuously test your infrastructure.
Test Website SSL Certificates Continuously with PowerShell and Pester
A solution to test SSL certificates using PowerShell and Pester.
Using PFX Files in PowerShell
Using PFX files in PowerShell
Downloading GitHub .GitIgnore templates with PowerShell
Downloading GitHub .GitIgnore templates with PowerShell
Using Azure Key Vault with PowerShell - Part 1
Using Azure Key Vault with PowerShell - Part 1
Change the Friendly Name of a Cert with PowerShell
Change the Friendly Name of a Cert with PowerShell
Publish an Azure RM Web App using a Service Principal in PowerShell
Publish an Azure RM Web App using a Service Principal in PowerShell
Persistent Storage in Azure Container Instances
A PowerShell script to create an Azure Container Instance with persistent storage using Azure File Shares.
Sonatype Nexus Containers with Persistent Storage in Azure Container Instances
Running Sonatype Nexus 2 and 3 containers with persistent storage in Azure Container Instances.
Get Azure API Management Git Credentials using PowerShell
Generate Git Credentials for Azure API Management using PowerShell
Install Nightly Build of Azure CLI 2.0 on Windows
Installing the Nightly Build of Azure CLI 2.0 on Windows using PowerShell and Chocolatey.
Stop, Start or Restart all Web Apps in Azure using PowerShell
Here is a short (and sometimes handy) single line of PowerShell code that can be used to restart all the Azure Web Apps in a subscription.
Auto Formatting PowerShell in Visual Studio Code
One of the features I'm most fond of in Visual Studio Code is the Format Document feature that is built into Visual Studio Code.
Create a Scheduled Task with unlimited Execution Time Limit in PowerShell
Create a Scheduled Task with unlimited Execution Time Limit in PowerShell
Configure Azure SQL Server Automatic Tuning with PowerShell
Configure Azure SQL Server Automatic Tuning with PowerShell
Managing Users and Permissions in Cosmos DB with PowerShell
Managing Users and Permissions in Cosmos DB with PowerShell
Disable TLS 1.0, TLS 1.1 and 3DES in Azure API Management using an ARM Template
Disable TLS 1.0, TLS 1.1 and 3DES in Azure API Management using an ARM Template
Get the ForceChangePassword Office 365 User Setting with PowerShell
Get the ForceChangePassword Office 365 User Setting with PowerShell
Install Windows Admin Center (WAC) using DSC
Install Windows Admin Center (WAC) using DSC
List Global Assembly Cache using PowerShell
List Global Assembly Cache using PowerShell
Converting a PowerShell Project to use Azure DevOps Pipelines
Converting a PowerShell Project to use Azure DevOps Pipelines
Use Pester to Test Azure Resource Manager Templates for Best Practices
Use Pester to Test Azure Resource Manager Templates for Best Practices
Enable CORS Support in Cosmos DB using PowerShell
Enable CORS Support in Cosmos DB using PowerShell
Allow Integer Parameter to Accept Null in a PowerShell Function
A PowerShell function that takes a mandatory integer parameter, but that parameter needs to allow Null.
Azure Resource Manager Templates Hands-on Lab and #GlobalAzure 2019
A hands-on lab and presentation on Azure Resource Manager templates I presented at the Global Azure Bootcamp 2019 in Auckland.
Deploy Sonarqube to Azure App Service Linux Containers using an Azure DevOps Pipeline
A guide to deploying Sonarqube to Azure App Service Linux Containers using an Azure DevOps Pipeline.
Refactoring PowerShell - Switch Statements
Refactoring PowerShell switch statements to use hash tables and enumerated types.
Enable AKS Azure Active Directory integration with a Managed Identity from an ARM template
How to enable AKS Azure Active Directory integration with a Managed Identity from an ARM template
Automate on-boarding Azure Log Analytics Container Monitoring of any Linux Docker Host using Azure Arc
A guide to configuring Azure Monitor Container Monitoring on any Linux Docker host using Azure Arc
12 Things you Should Know when Implementing Azure DevOps in your Organization
Azure DevOps is a fantastic part of any DevOps tool chain. But when you're first starting out with it in an organization, there are a few things you should know that will make it even better.
AKS Announcements Roll-up from Microsoft Ignite 2020
A roll-up of all the AKS announcements from Microsoft Ignite 2020
Protect your Environment from Malicious Pipeline Changes in Azure DevOps
Learn how to increase control and governance of Azure DevOps Pipelines using Approvals, Environments, Service Connections and Variable Groups.
Assigning Roles for Azure Enterprise Apps using Bicep
Discover how to assign Azure RBAC roles to enterprise applications like Azure AI Foundry and Azure Machine Learning using Bicep and Microsoft Graph for secure deployments.
Using AzureDefaultCredential with Semantic Kernel in Python
Learn how to securely authenticate Python Semantic Kernel apps to Azure OpenAI Service using managed identities and DefaultAzureCredential, with practical code examples.
Blogging with GitHub Copilot's Virtual Teammates
Exploring how GitHub Copilot Coding Agent works as a virtual teammate to help develop code in your repositories, fix issues, and implement features.
Deploying Foundry VTT to Azure in 5 minutes
Easily deploy Foundry Virtual Table Top to Microsoft Azure in minutes using Azure Developer Command Line Interface and best practices for secure cloud gaming.
Keeping Azure Bicep up-to-date the easy way with GitHub Copilot Agents
Learn how to use GitHub Copilot Agents and the experimental Prompt Files feature to automate updating Azure Verified Modules in your Bicep infrastructure as code files.