My Profile Photo

${Graham Beer} = 'blog'


Infrastucture Engineer, PowerShell Developer, WinOps and Automation


  1. The System.IO.FileSystemWatcher .NET Class: Raise file system notifications in PowerShell

    The use of .NET classes can extend PowerShell’s reach. In this article I will be looking at the System.IO.FileSystemWatcher .NET class and how you can use it to raise notifications on files and directories. PowerShell doesn’t do restrictions, and when you can’t achieve something one way, there is most probably another way with PowerShell’s extension ability. To use an example of notifying about file system changes, we can delve into .NET classes. 4sysops article continues...…


  2. Start and stop an EC2 instance with a PowerShell class

    My PowerShell class (AwsInstance) requires the AWS Tools for Windows PowerShell. The AWS Tools documentation is very clear with good examples. The cmdlets themselves for controlling the state of an EC2 instance are good, but I wanted an all-in-one tool with some extra features. The AWS module uses PowerShell Core 6 and its very rich in its content. 4sysops article continues here… …


  3. The PowerShell scriptblock

    The scriptblock is a fundamental feature of the PowerShell language. Understanding the different ways to use scriptblocks is essential to for the advanced PowerShell developer. What is a scriptblock? A scriptblock is a block of script code that exists as an object reference but does not require a name. To write a scriptblock we add a piece of code is encapsulated by curly braces {}. Scriptblocks are effectively containers that hold code and allow us...…


  4. Provision Windows Server 2016 with Vagrant and PowerShell DSC

    If you have not heard of or used Vagrant before, then it’s well worth checking out some of the excellent blogs here on 4sysops by Adam Bertram. What is so good about Vagrant is that there are many ways to provision a machine, Ansible, Chef, Puppet, and shell scripting to name just a few. The ability to provision with shell scripts allows us to use all the PowerShell language, including PowerShell DSC. PowerShell DSC is...…


  5. Using VSCode with VSTS and YAML to build an Azure VM – Part 2

    This is the second part of our two-part series on building a Windows Server in Azure by using a YAML configuration file in Visual Studio Team Services. In the first part of this article, we looked at creating a connection between Azure and VSTS while looking at JSON and YAML files to deploy. 4sysops article continues here… …