Author: Jonathan Bennett

  • GImageX v2.3.0 Released

    GImageX v2.3.0 has been released. GImageX provides a GUI for working with WIM images.

    (Read more…)


  • ConfigMgr Package and Program Return Codes and Reboot Behaviour

    This post describes the ways that Microsoft Configuration Manager 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 Sequence than when it is deployed directly to a collection.

    (Read more…)


  • ConfigMgr Package Success, Reboot and Retry Return Codes

    This post describes the return codes that Microsoft Configuration Manager understands for Package and Program deployments and shows which codes are classed success, reboot, or retry.

    (Read more…)


  • ConfigMgr Create Task Sequence Media Wizard and Network Ports

    Overview This post describes the firewall ports that need to be opened between a Microsoft Configuration Manager console and servers in order to use the Create Task Sequence Media wizard. I recently had to run the Create Task Sequence Media wizard from a ConfigMgr console installed in a secure environment. All the network ports as…

    (Read more…)


  • Microsoft Visual Studio

    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 to run at any given time. In addition I wanted it…

    (Read more…)


  • Script to Detect if Running from ConfigMgr Task Sequence and Avoid False Positives

    Overview This post shows how a script can detect if it is running from inside a Microsoft Configuration Manager 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 a ConfigMgr Task Sequence so it can alter its behaviour accordingly.…

    (Read more…)


  • GImageX Capture

    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 application that can be run even in WinPE. GImageX uses the…

    (Read more…)


  • AutoIt PowerShell Logo

    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 scripts. As an additional bonus, the AutoIt PowerShell Cmdlets and Assemblies…

    (Read more…)


  • 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. Windows Preinstallation Environment (Windows PE or WinPE) is a lightweight version…

    (Read more…)


  • 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 Group Policy (the recommended way). Secondly, by using…

    (Read more…)


  • Development

    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 run from any location – such as a UNC path…

    (Read more…)


  • UTF-8 and UTF-16 Text Encoding Detection Library

    Overview This post shows how to detect UTF-8 and UTF-16 text and presents a fully functional C++ and C# library that can be used to help with the detection. I recently had to upgrade the text file handling feature of AutoIt to better handle text files where no byte order mark (BOM) was present. The…

    (Read more…)


  • Mass Redistribute Packages in ConfigMgr 2012

    Overview Recently I came across an issue with System Center Configuration Manager (ConfigMgr) 2012 where a large number of packages and applications had failed to be distributed to a new Distribution Point (DP). There were many thousands of packages in the environment and a few hundred were showing in the error state in the console.…

    (Read more…)


  • Detect an SSD Disk Using a Script

    Overview A common request when creating automated desktop builds or custom maintenance tools is the ability detect if the main system drive is an SSD disk or not. This information can be used to configure a system in a particular way. For example, to run (or not run) certain maintenance tasks or to optimally configure…

    (Read more…)


  • GImageX v2.1.0 Released for Windows 8.1

    GImageX v2.1.0 has been released. GImageX is a graphical user interface for the ImageX tool from the Windows Assessment and Deployment Kit (Windows ADK). ImageX is used to capture and apply WIM images for Windows deployments. GImageX uses the supported Microsoft WIMGAPI API for working with WIM files. Previous versions of GImageX were compiled for the…

    (Read more…)


  • Configuring an AirPort Extreme for NAT Only Mode

    Overview This post will show how you can use an configure an AirPort Extreme for NAT only mode so that you can allow an additional DHCP server on your network to handle IP address allocation. The instructions are for the AirPort Extreme in the Time Capsule, but I believe this should be the same for…

    (Read more…)


  • Website Server Rebuild Diary

    Overview Not a usual scripting or deployment post this time – this is a website server rebuild diary. I wanted to make a quick post to document a server rebuild and to log the sort of work that goes into maintaining this and the www.autoitscript.com site. Even small (ish) sites can be quite a bit…

    (Read more…)


  • Using Custom XML and Config Files with USMT and ConfigMgr

    Overview Using USMT In System Center Configuration Manager (SCCM / ConfigMgr)  when performing an Operating System Deployment (OSD) can be a bit of a chore. The built in Task Sequence actions available for capturing and restoring user state only allow you to perform a very basic migration. Most of the time USMT requires quite a…

    (Read more…)


  • Create a USMT Package in ConfigMgr

    Overview In System Center Configuration Manager (SCCM / ConfigMgr)  when performing an Operating System Deployment (OSD) there is usually some form of user data and settings migration. This is often performed using the Microsoft User State Migration Toolkit (USMT). The first step in using USMT is to create the USMT tool ConfigMgr package. This post…

    (Read more…)


  • Create a Windows 7 BitLocker Partition in ConfigMgr

    Overview In System Center Configuration Manager (SCCM / ConfigMgr)  something I’ve done a few times is to create a BitLocker partition for Windows 7 during an Operating System Deployment (OSD) Task Sequence. I’ve seen the method used here a few times before but I wanted to document it for myself so that I can use…

    (Read more…)