SCCM Scripts

These SDK Scripts can perform ad-hoc client side tasks. 

NOTE: If running on x64 machine, you must use the 32-bit version of C:\Windows\SysWoW64\cscript.exe since SCCM is a 32-bit application.

Client Component List

On Error Resume Next

    Dim oCPAppletMgr ' Control Applet manager object
    Dim oClientAction ' Individual client action
    Dim oClientActions ' A collection of client actions

    ' Get the Control Panel applet manager object.
    Set  oCPAppletMgr=CreateObject("CPApplet.CPAppletMgr")
    If err.number <> 0 Then
        Wscript.echo "Couldn't create control panel application manager"

    End If

    ' Get a collection of actions.
    Set oClientActions=oCPAppletMgr.GetClientActions
    If err.number<>0 Then
        wscript.echo "Couldn't get the client actions"
        Set oCPAppletMgr=Nothing

    End If

    ' Display each client action name and perform it.
    For Each oClientAction In oClientActions
        wscript.echo oClientAction.name
        oClientAction.PerformAction
        wscript.echo
    Next

    Set oClientActions=Nothing
    Set oCPAppletMgr=Nothing

 

Hardware Inventory Cycle

' Set the required variables.
    actionNameToRun = "Hardware Inventory Collection Cycle"

    ' Create the CPAppletMgr instance.
    Dim controlPanelAppletManager
    Set controlPanelAppletManager = CreateObject("CPApplet.CPAppletMgr")

    ' Get the available ClientActions object.
    Dim clientActions
    Set clientActions = controlPanelAppletManager.GetClientActions()

    ' Loop through the available client actions. Run the matching client action when it is found.
    Dim clientAction
    For Each clientAction In clientActions
        If clientAction.Name = actionNameToRun Then
            clientAction.PerformAction 
        End If
    Next
    wscript.echo "Ran: " & actionNameToRun

 

Software Inventory Cycle

' Set the required variables.
    actionNameToRun = "Software Inventory Collection Cycle"

    ' Create the CPAppletMgr instance.
    Dim controlPanelAppletManager
    Set controlPanelAppletManager = CreateObject("CPApplet.CPAppletMgr")

    ' Get the available client actions.
    Dim clientActions
    Set clientActions = controlPanelAppletManager.GetClientActions()

    ' Loop through the available client actions. Run the matching client action when it is found.
    Dim clientAction
    For Each clientAction In clientActions
        If clientAction.Name = actionNameToRun Then
            clientAction.PerformAction 
        End If
    Next
    wscript.echo "Ran: " & actionNameToRun

 

Discovery Collection Cycle

' Set the required variables.
    actionNameToRun = "Discovery Data Collection Cycle"

    ' Create the CPAppletMgr instance.
    Dim controlPanelAppletManager
    Set controlPanelAppletManager = CreateObject("CPApplet.CPAppletMgr")

    ' Get the available ClientActions object.
    Dim clientActions
    Set clientActions = controlPanelAppletManager.GetClientActions()

    ' Loop through the available client actions. Run the matching client action when it is found.
    Dim clientAction
    For Each clientAction In clientActions
        If clientAction.Name = actionNameToRun Then
            clientAction.PerformAction 
        End If
    Next
    wscript.echo "Ran: " & actionNameToRun

 

Machine Policy Cycle

' Set the required variables.
    actionNameToRun = "Request & Evaluate Machine Policy"

    ' Create the CPAppletMgr instance.
    Dim controlPanelAppletManager
    Set controlPanelAppletManager = CreateObject("CPApplet.CPAppletMgr")

    ' Get the available ClientActions object.
    Dim clientActions
    Set clientActions = controlPanelAppletManager.GetClientActions()

    ' Loop through the available client actions. Run the matching client action when it is found.
    Dim clientAction
    For Each clientAction In clientActions
        If clientAction.Name = actionNameToRun Then
            clientAction.PerformAction 
        End If
    Next
    wscript.echo "Ran: " & actionNameToRun

 

Software Metering Cycle

' Set the required variables.
    actionNameToRun = "Software Metering Usage Report Cycle"

    ' Create the CPAppletMgr instance.
    Dim controlPanelAppletManager
    Set controlPanelAppletManager = CreateObject("CPApplet.CPAppletMgr")

    ' Get the available ClientActions object.
    Dim clientActions
    Set clientActions = controlPanelAppletManager.GetClientActions()

    ' Loop through the available client actions. Run the matching client action when it is found.
    Dim clientAction
    For Each clientAction In clientActions
        If clientAction.Name = actionNameToRun Then
            clientAction.PerformAction 
        End If
    Next
    wscript.echo "Ran: " & actionNameToRun

 

Software Updates Evaluation Cycle

' Set the required variables.
    actionNameToRun = "Software Updates Assignments Evaluation Cycle"

    ' Create a CPAppletMgr instance.
    Dim oCPAppletMgr
    Set oCPAppletMgr = CreateObject("CPApplet.CPAppletMgr")

    ' Get the available ClientActions object.
    Dim oClientActions
    Set oClientActions = oCPAppletMgr.GetClientActions()

    ' Loop through the available client actions. Run the matching client action when it is found.
    Dim oClientAction
    For Each oClientAction In oClientActions
        If oClientAction.Name = actionNameToRun Then
            oClientAction.PerformAction 
        End If
    Next

    wscript.echo "Ran: " & actionNameToRun

 

Software Updates Scan Cycle

' Set the required variables.
   actionNameToRun = "Updates Source Scan Cycle"

   ' Create a CPAppletMgr instance.
   Dim oCPAppletMgr
   Set oCPAppletMgr = CreateObject("CPApplet.CPAppletMgr")

   ' Get the available ClientActions object.
   Dim oClientActions
   Set oClientActions = oCPAppletMgr.GetClientActions()

   ' Loop through the available client actions. Run the matching client action when it is found.
   Dim oClientAction
   For Each oClientAction In oClientActions
       If oClientAction.Name = actionNameToRun Then
           oClientAction.PerformAction 
       End If
   Next
   wscript.echo "Ran: " & actionNameToRun

 

 

--