SCCM Package and Program Return Codes and Reboot Behaviour
Overview This post describes the ways that SCCM handles reboots for a Package & Program deployment. The behaviour depends on the Program configuration, deployment method, and return code. For example, a Package will perform differently when deployed in a Task...
SCCM Package Success, Reboot and Retry Return Codes
Overview This post describes the return codes that SCCM understands for Package and Program deployments and shows which codes are classed success, reboot, or retry. The meaning of return codes for Packages and Programs is defined in the SCCM site control file. Codes...
SCCM Create Task Sequence Media Wizard and Network Ports
Overview This post describes the firewall ports that need to be opened between an SCCM console and SCCM servers in order to use the Create Task Sequence Media wizard. I recently had to run the Create Task Sequence Media wizard from an SCCM console installed in a...
Single Instance WinForm App in C# with Mutex and Named Pipes
Overview This post shows how to create a single instance WinForm C# application using a Mutex. It also demonstrates how to send any object between instances with Named Pipes. While writing OSD Background I wanted an application that would only allow a single instance...
Script to Detect if Running from SCCM Task Sequence and Avoid False Positives
Overview This post shows how a script can detect if it is running from inside an SCCM Task Sequence in a way that avoids false positives. The Problem At times it's useful for a script to detect if it is running from an SCCM Task Sequence so it can alter its behaviour...
GImageX v2.2.0 Released for Windows 10
Overview GImageX v2.2.0 has been released. GImageX is a freeware GUI for working with imaging WIM files providing an alternative to DISM. It can be used to capture, apply, mount, export, split and delete WIM files. GImageX is provided as a 32-bit and 64-bit native...
AutoIt Cmdlets for Windows PowerShell
Overview The newest versions of the AutoIt scripting language now come with a bonus for PowerShell users. A set of native PowerShell Cmdlets! This allows you to add the unique features of AutoIt - window manipulation and keystroke simulation - to your usual PowerShell...
WinPE Version List
Overview This post contains a WinPE version list including the WinPE version, the Windows version, and the numeric Windows version string that it was built from. It covers all versions of WinPE from the initial Windows XP versions to the latest Windows 10 versions....
Automating Office 365 Click-to-Run First Use Without Group Policy
Overview This post shows how to automate the numerous "first-run" dialogs that are shown when a user runs an Office 2013 or Office 365 application for the first time. With a standard local installation of Office 2013 this can be done in two ways. Firstly, by using...
Get the Current Script Directory in PowerShell, VBScript and Batch
Overview This post shows how to quickly get the current script directory using PowerShell, VBScript and Batch - the most commonly used scripting languages for Windows. The scripts I write usually read in other files or call other scripts. In order for these scripts to...