Had an instance where patching messed up Agent's Plugins and put together a little script to eliminate about a million clicks.
Add. selects/columns could be used to log and output the results, but I was just watching in SWQL Studio.
*Note "RedeployPlugin" was used, but any method could be invoked and passed the correct values (See image below).
import-module SwisPowershell
$swis = Connect-Swis -Host localhost -Certificate
$PluginList = @()
$PluginList = Get-SwisData $swis "SELECT AgentId, PluginId, Version, LastChange, Status, StatusMessage FROM Orion.AgentManagement.AgentPlugin WHERE Status != 1"
$PluginList.count
$PluginList | ForEach-Object {
Invoke-SwisVerb $swis Orion.AgentManagement.Agent RedeployPlugin $_.AgentId, $_.PluginId
Write-host $_.AgentId, $_.PluginId
sleep -m 200
}
Write-Output "Script Complete. Exiting..."
