Q. Can I use PowerShell to create and compare a configuration baseline?

Almost anything you can "Get" is eligible for this trick. Start by getting your baseline into an XML file.

Don Jones

August 5, 2010

1 Min Read
silhouetted people standing in line with hands raised and linked

Q. Can I use PowerShell to create and compare a configuration baseline?

A. Almost anything you can "Get" is eligible for this trick. Start by getting your baseline into an XML file. Let's say you're working with services. You'd use the command:

Get-WmiObject -class Win32_Service | Export-CliXML baseline.xml

Then, when you're ready to compare the current state to the baseline, you'd run:

Compare-Object (Import-CliXML baseline.xml) (Get-WmiObject -class Win32_Service)

That all gets written on one line. Compare-Object also has an alias, Diff.

The comparison will compare every attribute of those objects. That works well for many management objects such as services but not all. Processes, for example, are constantly changing. You expect a process's CPU usage, for example, to change, so you wouldn't compare everything. Instead, you'd just pick one or two properties to compare, as in:

Compare-Object (Import-CliXML processes.xml) (Get-Process) -property name

Do you have a Windows PowerShell question? Find more PowerShell FAQs, articles, and other resources at windowsitpro.com/go/DonJonesPowerShell.

 

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like