Trigger SCCM Client Actions Remotely

Sometimes you just need a quick way to trigger SCCM Client Actions remotely and you don’t want to have to build a Collection and wait for it to update before using Right-Click tools to do it.

PowerShell Method

Invoke-WMIMethod -ComputerName <computerName> -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000001}" # Hardware Inventory

Invoke-WMIMethod -ComputerName <computerName> -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000002}" # Software Inventory

Invoke-WMIMethod -ComputerName <computerName> -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000003}" # Heartbeat Discovery

WMIC Method (deprecated)

wmic /node:<computerName> /namespace:\\root\ccm path sms_client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000001}" /NOINTERACTIVE

Script Example

$Computers = Get-Content -Path $PSScriptRoot\Computers.txt

ForEach ($comp in $Computers) {
    Write-Host "Triggering Hardware Inventory on $comp"
    Invoke-WMIMethod -ComputerName $comp -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000001}"  # Hardware Inventory
}

For a full list of available Client Action Triggers see:
https://docs.microsoft.com/en-us/mem/configmgr/develop/reference/core/clients/client-classes/triggerschedule-method-in-class-sms_client

Leave a Comment