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? Why not submit it to Don? Post your question at www.windowsitpro.com/FAQs/FAQSubmittalForm.aspx and you might see your answer online! Find more PowerShell FAQs, articles, and other resources at windowsitpro.com/go/DonJonesPowerShell.