Tips and Tricks

Here are a few tips and tricks that will improve your experience with the API.

When typing PowerShell commands, use the Tab button to auto-complete the command.

Use pipelining within your commands to string together a series of actions.

If you want to view the output when performing a patch scan, be sure to use the Watch-PatchScan parameter.


Start-PatchScan –MachineGroups “Sample Group” | Watch-PatchScan

You can assign the result of any command to a variable and interact with that variable later in the same PowerShell session.


$credReference = Get-STCredential

$credReference | Where-Object

{ $_.UserName.Contains(“foo”) }

$myScan = Start-PatchScan –MachineGroups “My Machine”

Wait-PatchScan –Uid ($myScan.Uid)

If you want to perform a patch deployment against the results of a particular patch scan, store the patch scan in a variable and pipe it to the deployment operation.


$myScan = Start-PatchScan –MachineGroups “Sample Group”;

$myScan | Watch-PatchScan

Start-PatchDeploy –ScanUid ($MyScan.Uid) –TemplateName “Sample Deploy Template”

If you are scripting a patch scan followed by a patch deployment, be sure to use the Wait-PatchScan parameter to allow time for the scan to complete before the deployment is initiated.


$MyScan = Start-PatchScan –MachineGroups “Sample Group” | Wait-PatchScan

Start-PatchDeploy –ScanUid ($MyScan.Uid) –TemplateName “Sample Deploy Template”

Be sure to load any additional modules that might be needed.

Example: When interacting with a SQL cluster you might load the following modules:

Import-Module ServerManager

Add-WindowsFeature RSAT-Clustering

Import-Module FailoverClusters

To minimize downtime, you can use the Invoke-DownloadMissingPatches command before deploying.

This would enable you to perform a scan one day and then use the Get-PatchScan command to deploy from that scan on a different day.