Microsoft publish a set of documents detailing programming against System Center Configuration Manager (SCCM). The guidance is published at

This section of the site is intended to provide additional guidance to the official SDK, in particular it will:

  • Provide a C# focused resource.
  • Provide examples of scenarios not covered in the official guidance.
  • Provide descriptions of concepts that aren’t clear from the official guidance.
  • Provide correct error handling and disposal of SCCM objects. Unfortunately the official examples are very much written as ‘examples’. I’ve only seen one example that even has a Dispose or Using statement. People will be copying these examples as the correct way to do things resulting in a lot of leaky code in the wild.


This SCCM SDK is organised into the following main topics:

  • Fundamentals
  • Collections
  • Packages
  • Applications
  • Software Distribution
  • Role-based Administration
  • Operating System Deployment
  • Inventory
  • Discovery
  • Console Extension
  • Software Updates
  • Software Metering
  • Console folder