Service Management Automation Runbooks are PowerShell workflows. Workflows allow parameters to be passed in at the time of execution and are essential to any infrastructure automation.
System Center Configuration Manager collects a surprising amount of data from both Linux and Windows based client machines. Normally the collected data may be viewed through the SCCM utility Resource Explorer but the data exists within the SCCM database and may be queried against with SQL Reporting by directly. To create custom SQL reports, knowledge of which table holds related data is a requirement.
I’ve written a fair bit about automating SCCM application creation by script. Most of this has originated from the need to use Enhanced Detection Methods for determining when Applications are installed as I know from many years of Application Packaging that unless an official “package” produces a standard file or registry based flag when it’s installed, it becomes impossible to tightly manage a software environment.
It's now been a decade since I've supported Zenworks in a commercial environment... it really was a gret product. There was no PowerShell and every engineer used a bag full of DOS type utilities to overcome limitations with supporting machines.
The code snippet below is an example of how to recursively list all of the requirements that have been set against SCCM Applications within an environment.
There can be many reasons for needing site specific data related to an IP address. I had a recent requirement for Orchestrator to configure machines when the only input was the IP Address of the target machine. This solution uses PowerShell to compare an IP Address to an XML based lookup table of site information. By finding the right site, other locale details can be used through Orchestrator. The XML below represents the site information needed by my particular process.
Orchestrator can be used to automate the installation of SCCM on template deployed Linux machines. Microsoft’s growing support for Linux platforms allows SCCM to be used for centralised reporting while opening the door for SCCM to become a unified platform deployment system at some stage in the future.
Resolving file paths within MSI databases can be a complex piece of coding. It involves linking files to components and components to the directory table. The complexity is due to the flexibility of Windows Installer in determining how directory table entries are referenced.