Creating WPF GUI Applications with Pure PowerShell

When creating a GUI application in PowerShell, I usually use Visual Studio, or Blend for Visual Studio, to design a WPF application, then copy and run the XAML code in PowerShell.  Designing in VS is generally easier and quicker and creates less code, but it is also perfectly possible to create a WPF GUI using … Continue reading Creating WPF GUI Applications with Pure PowerShell

Temporarily Increasing the ConfigMgr Client Cache Size for a Large Application

Recently I had to deploy an application whose content files were larger than the default SCCM client cache size (5120 MB).  This will return an error in the Software Center, such as: 0x87D01201 (The content download cannot be performed because there is not enough available space in cache or the disk is full.) I didn't … Continue reading Temporarily Increasing the ConfigMgr Client Cache Size for a Large Application

Prompting the End-User during ConfigMgr Application Installs

As a Configuration Manager administrator, from time to time I have to deploy an application where I need to notify the end-user of something before the installation begins. A recent example was a plugin for IE that would fail to install if Internet Explorer was running at the time. I can force-ably kill the running … Continue reading Prompting the End-User during ConfigMgr Application Installs

Redistribute Failed Package Distributions in ConfigMgr with PowerShell

Here's a little script I wrote based on one written by David O'Brien that allows you to redistribute failed package distributions in Configuration Manager by selecting which packages you want to redistribute. First the script queries WMI to find packages that are not in the "installed" state, ie the distribution is not successfully completed.  It … Continue reading Redistribute Failed Package Distributions in ConfigMgr with PowerShell

Searching the Registry Uninstall Key with PowerShell

Here's a little PowerShell function I wrote that searches the Uninstall key in the registry for DisplayNames and product code GUIDs.  I wrote it to help in finding the relevant uninstall key to use for the registry detection method when creating new applications in System Center Configuration Manager.  You can use it to output all … Continue reading Searching the Registry Uninstall Key with PowerShell

Retrieving Software Inventory for a ConfigMgr Site with PowerShell

In my last post, I demonstrated how we can retrieve software inventory information for a single ConfigMgr client or an array of clients, using PowerShell.  In this post, we will change the scope from the client to the entire site.  Using this script, you can query for all installations of a specific software/s in your ConfigMgr site, … Continue reading Retrieving Software Inventory for a ConfigMgr Site with PowerShell

Instant Client Software Inventory with ConfigMgr and PowerShell

Here's a simple but handy PowerShell script I wrote that uses the ConfigMgr database to retrieve software inventory information for any client.  You can return the entire inventory for the client, or search for specific software.  You can also pass the computer name and/or software name along the pipeline to the script, so you can … Continue reading Instant Client Software Inventory with ConfigMgr and PowerShell

Create a Database of Error Codes and Descriptions for Windows and ConfigMgr

In a recent post, I described different ways to translate error codes for Windows and Configuration Manager into their friendly descriptions.  In this post, I will show you how to create a SQL database of known error codes and descriptions that you can join to in your SQL queries, to help simplify your troubleshooting, and … Continue reading Create a Database of Error Codes and Descriptions for Windows and ConfigMgr

Translating Error Codes for Windows and Configuration Manager

As a Windows and Configuration Manager administrator, I often come across error codes that need translating into their more friendly descriptions.  In Configuration Manager, sometimes these codes are translated for you in the log files, reports and the ConfigMgr console, but sometimes they are not.  Sometimes they will be in decimal format, and sometimes hexadecimal. … Continue reading Translating Error Codes for Windows and Configuration Manager

Checking for New Versions of Common Software with Powershell

In any enterprise environment there will be some common software that you will install on all your computers, and some of these are frequently updated to new versions, such as Adobe Flash Player, or the Java Runtime for example.  So I wrote a little script that runs as a scheduled task every day and checks … Continue reading Checking for New Versions of Common Software with Powershell