Public/Invoke-CCMClientScheduleUpdate.ps1

Function Invoke-CCMClientScheduleUpdate
{
    [cmdletbinding()]
    param (
        [Parameter(ValueFromPipeline = $true,
            ValueFromPipelineByPropertyName = $true,
            ParameterSetName = 'ComputerName',
            Position = 1,
            Mandatory = $true)]
        [string[]]$ComputerName,

        [Parameter(ParameterSetName = 'ComputerName')]
        [PSCredential]$Credential
    )
    Begin
    {
        $taskHash = @{
            '{00000000-0000-0000-0000-000000000001}' = 'Hardware Inventory'
            '{00000000-0000-0000-0000-000000000002}' = 'Software Inventory '
            '{00000000-0000-0000-0000-000000000003}' = 'Discovery Inventory '
            '{00000000-0000-0000-0000-000000000010}' = 'File Collection '
            '{00000000-0000-0000-0000-000000000011}' = 'IDMIF Collection '
            '{00000000-0000-0000-0000-000000000012}' = 'Client Machine Authentication '
            '{00000000-0000-0000-0000-000000000021}' = 'Request Machine Assignments '
            '{00000000-0000-0000-0000-000000000022}' = 'Evaluate Machine Policies '
            '{00000000-0000-0000-0000-000000000023}' = 'Refresh Default MP Task '
            '{00000000-0000-0000-0000-000000000024}' = 'LS (Location Service) Refresh Locations Task '
            '{00000000-0000-0000-0000-000000000025}' = 'LS (Location Service) Timeout Refresh Task '
            '{00000000-0000-0000-0000-000000000026}' = 'Policy Agent Request Assignment (User) '
            '{00000000-0000-0000-0000-000000000027}' = 'Policy Agent Evaluate Assignment (User) '
            '{00000000-0000-0000-0000-000000000031}' = 'Software Metering Generating Usage Report '
            '{00000000-0000-0000-0000-000000000032}' = 'Source Update Message'
            '{00000000-0000-0000-0000-000000000037}' = 'Clearing proxy settings cache '
            '{00000000-0000-0000-0000-000000000040}' = 'Machine Policy Agent Cleanup '
            '{00000000-0000-0000-0000-000000000041}' = 'User Policy Agent Cleanup'
            '{00000000-0000-0000-0000-000000000042}' = 'Policy Agent Validate Machine Policy / Assignment '
            '{00000000-0000-0000-0000-000000000043}' = 'Policy Agent Validate User Policy / Assignment '
            '{00000000-0000-0000-0000-000000000051}' = 'Retrying/Refreshing certificates in AD on MP '
            '{00000000-0000-0000-0000-000000000061}' = 'Peer DP Status reporting '
            '{00000000-0000-0000-0000-000000000062}' = 'Peer DP Pending package check schedule '
            '{00000000-0000-0000-0000-000000000063}' = 'SUM Updates install schedule '
            '{00000000-0000-0000-0000-000000000071}' = 'NAP action '
            '{00000000-0000-0000-0000-000000000101}' = 'Hardware Inventory Collection Cycle '
            '{00000000-0000-0000-0000-000000000102}' = 'Software Inventory Collection Cycle '
            '{00000000-0000-0000-0000-000000000103}' = 'Discovery Data Collection Cycle '
            '{00000000-0000-0000-0000-000000000104}' = 'File Collection Cycle '
            '{00000000-0000-0000-0000-000000000105}' = 'IDMIF Collection Cycle '
            '{00000000-0000-0000-0000-000000000106}' = 'Software Metering Usage Report Cycle '
            '{00000000-0000-0000-0000-000000000107}' = 'Windows Installer Source List Update Cycle '
            '{00000000-0000-0000-0000-000000000108}' = 'Software Updates Assignments Evaluation Cycle '
            '{00000000-0000-0000-0000-000000000109}' = 'Branch Distribution Point Maintenance Task '
            '{00000000-0000-0000-0000-000000000110}' = 'DCM policy '
            '{00000000-0000-0000-0000-000000000111}' = 'Send Unsent State Message '
            '{00000000-0000-0000-0000-000000000112}' = 'State System policy cache cleanout '
            '{00000000-0000-0000-0000-000000000113}' = 'Scan by Update Source '
            '{00000000-0000-0000-0000-000000000114}' = 'Update Store Policy '
            '{00000000-0000-0000-0000-000000000115}' = 'State system policy bulk send high'
            '{00000000-0000-0000-0000-000000000116}' = 'State system policy bulk send low '
            '{00000000-0000-0000-0000-000000000120}' = 'AMT Status Check Policy '
            '{00000000-0000-0000-0000-000000000121}' = 'Application manager policy action '
            '{00000000-0000-0000-0000-000000000122}' = 'Application manager user policy action'
            '{00000000-0000-0000-0000-000000000123}' = 'Application manager global evaluation action '
            '{00000000-0000-0000-0000-000000000131}' = 'Power management start summarizer'
            '{00000000-0000-0000-0000-000000000221}' = 'Endpoint deployment reevaluate '
            '{00000000-0000-0000-0000-000000000222}' = 'Endpoint AM policy reevaluate '
            '{00000000-0000-0000-0000-000000000223}' = 'External event detection'

        }
    }
        
    Process
    {
        $cimSession = New-CCMClientCimSession @PSBoundParameters

        $cimParam = @{
            Namespace = 'root/ccm'
            Class = 'SMS_CLIENT'
            MethodName = 'TriggerSchedule'
            CimSession = $cimSession
        }
        $taskHash.Keys | ForEach-Object {
            Write-Verbose $PSItem
            try {$null = Invoke-CimMethod @cimParam -Arguments @{ sScheduleID = $PSItem } -ErrorAction Stop }
            catch {$PSItem}
        }
    }

}