Careful When Using Return in Advanced #PowerShell Functions

What do you expect to happend, when using return in advanced #PowerShell functions? I expected that execution would continue in the calling context. Let’s take a closer look to see why that is not the case.

Testing Configuration Data in #PSDSC using #Pester

Recent examples of PowerShell Desired State Configuration (PSDSC) on the web are using configuration data to separate the configuration from environment data. The use of parameter for configurations is declining except for quick examples. Configuration data is using a data structure in PowerShell Object Notation (PSON) with only very few structural requirements. On one hand, this freedom is very welcome because the data structure can be designed to meet your personal needs. On the other hand, semantical errors cause configurations to fail because the data structure cannot be checked for errors by some predefined algorithm. Therefore, I will present how to check configuration data in #PSDSC using #Pester.

Slide Deck about Automating #XenApp using #PowerShell

Today I talked (in German) about automating #XenApp using #PowerShell at DCUG in Freiburg. I’d like to share the short slide deck as well as the code for my extensive demos. DCUG is a Citrix User Group event held in German and is organized by Roy Textor.

Microsoft MVP for Remote Desktop Services again

I am honored and proud to announce that I have been awarded the Most Valuable Professional - MVP for Remote Desktop Services (RDS). This has been the sixth time in a row!

MVP Logo

Slide Deck about #Azure #RemoteApp at #DuCuG

Today I talked about #Azure #RemoteApp at #DuCuG in Amsterdam. I’d like to share my slide deck and the code for one of my demos.

Installing Windows Updates Asynchronously from PowerShell

There are many examples how to install Windows Updates from PowerShell using the .NET classes in the namespace Microsoft.Update.Session. Those implementations are all blocking meaning that it is not possible to retrieve progress information. This post presents VBScript code to install Windows Updates asynchonously which cannot be done from PowerShell. Although this code does not solve the issue that downloading and installing Windows updates cannot be performed in a PowerShell remote session, it provides better visibility of the progress.

Displaying Progress from External Programs in PowerShell

Unfortunately, it is often necessary to call external programs from PowerShell. Whenever this is done, the controlling code needs to process output and errors. Some of those tools implement long running tasks which do not provide any progress information. This post presents a code to intercept progress messages from standard output to display progress from external programs.

Displaying Progress from PowerShell Jobs

Whenever a PowerShell job attempts to display progress, it is intercepted and stored for progressing by the controlling code outside the job. This allows for displaying progress from PowerShell jobs on the console.

How to Build a Custom Minecraft Server for Friends and Family

I have recently build a custom Minecraft server for some friends. Although there is a lot of content about Minecraft and the server software out there, I have not found a comprehensive guide how to go about this. Therefore this post describes how I have built and configured the server software.

Processing a Queue using Parallel PowerShell Jobs with Throttling

It is often necessary to repeat the same code with different arguments and use PowerShell jobs to speed up the process. Depending on the resources required by the code it may be necessary to limit parallel execution to a certain number of parallel jobs. In this post, I will present code to use PowerShell jobs to process such a queue with throttling.