The SCCM (System Center Configuration Manager) Client's Actions tab contains several critical operations that help manage client communication, policy retrieval, and software deployment. Many administrators struggle to find a centralized reference explaining each action's purpose. Below is a detailed breakdown.
1. Machine Policy Retrieval & Evaluation Cycle
# PowerShell command to trigger Machine Policy Retrieval
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000021}"
This action forces the client to download and apply new policies from the SCCM server. Useful after deploying new applications or compliance settings.
2. Application Deployment Evaluation Cycle
# Trigger Application Deployment Evaluation
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000121}"
Checks for new or updated application deployments and installs them if applicable.
Discovery Data Collection Cycle
# Force discovery data upload
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000003}"
Updates the SCCM server with current client inventory data including hardware, software, and network information.
Software Inventory Cycle
# Initiate software inventory scan
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000002}"
Scans the system for installed software and reports back to the SCCM server.
Here's how to combine these actions in a troubleshooting script:
# SCCM Client Reset Script
$actions = @(
"{00000000-0000-0000-0000-000000000021}", # Machine Policy
"{00000000-0000-0000-0000-000000000022}", # User Policy
"{00000000-0000-0000-0000-000000000121}" # App Deployment
)
foreach ($action in $actions) {
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList $action
Start-Sleep -Seconds 5
}
Action Name | GUID | Purpose |
---|---|---|
Hardware Inventory | {00000000-0000-0000-0000-000000000001} | Collects hardware data |
Software Updates Scan | {00000000-0000-0000-0000-000000000113} | Checks for available patches |
Windows Installer Source List | {00000000-0000-0000-0000-000000000032} | Updates application source locations |
For complete automation, consider wrapping these actions in a PowerShell module with proper error handling and logging.
The Configuration Manager (SCCM) Client Actions tab contains crucial functions that initiate various maintenance and synchronization operations. These actions are essentially predefined workflows that trigger specific SCCM client agent operations.
Here's a detailed breakdown of each standard action in the SCCM client:
// Example PowerShell command to trigger Machine Policy Retrieval
Invoke-WMIMethod -Namespace "root\ccm" -Class "SMS_Client" -Name "TriggerSchedule" -ArgumentList @("{00000000-0000-0000-0000-000000000021}")
Machine Policy Retrieval & Evaluation Cycle: Forces the client to download and evaluate new machine policies from the management point.
User Policy Retrieval & Evaluation Cycle: Similar to machine policy but applies to user-targeted policies.
Application Deployment Evaluation Cycle: Checks for new or updated application deployments:
// Trigger Application Deployment Evaluation via WMI
$client = [wmiclass]"\\.\root\ccm:SMS_Client"
$client.TriggerSchedule("{00000000-0000-0000-0000-000000000121}")
Hardware Inventory Cycle: Collects updated hardware information and sends to the site server.
Software Inventory Cycle: Gathers installed software data.
Software Updates Scan Cycle: Scans for applicable updates:
# Force Software Updates Scan via command line
WMIC /namespace:\\root\ccm path SMS_Client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000113}" /NOINTERACTIVE
File Collection Cycle: Processes any pending file collections.
Discovery Data Collection Cycle: Gathers discovery data from Active Directory.
For automation purposes, you can script multiple actions:
// PowerShell function to trigger multiple actions
function Invoke-SCCMActions {
param([string[]]$ActionIDs)
$client = [wmiclass]"\\.\root\ccm:SMS_Client"
foreach ($id in $ActionIDs) {
$client.TriggerSchedule($id)
}
}
// Usage
Invoke-SCCMActions -ActionIDs @(
"{00000000-0000-0000-0000-000000000021}", # Machine Policy
"{00000000-0000-0000-0000-000000000022}", # User Policy
"{00000000-0000-0000-0000-000000000113}" # Update Scan
)
When actions fail to execute properly, check:
- CcmExec.log for general client operations
- PolicyAgent.log for policy-related issues
- UpdatesHandler.log for update scan problems