Support
 
Phone Live Chat
 
Support
 
US: +1 888 720 9500
 
Intl: +1 925 924 9500
Aus: +1 800 631 268
UK: 0800 028 6590
CN: +86 400 660 8680

Direct Inward Dialing: +1 408 916 9393

 
 
 
 
 
Features

This guide walks through three methods for deploying the SCCM client via Group Policy: assigning the MSI package, running a startup script, and provisioning installation properties through ADM templates. It also covers how to verify the installation succeeded and how to troubleshoot common failures.

Why deploy the SCCM client via Group Policy

Microsoft Configuration Manager (SCCM), which is also commonly known as ConfigMgr or MECM, offers several ways to push the client to domain computers. This includes client push installation from the SCCM console, software update-based installation through Windows Server Update Services, and manual install with ccmsetup.exe, and Group Policy. Each has trade-offs, and GPO deployment exists for the cases where the others don't fit cleanly.

Group Policy is the right choice when client push is blocked by, for example, firewall rules, WMI issues, no admin credentials in the target environment. It's also a natural fit when you want a single configuration applied to every machine in an OU automatically, or when you're bootstrapping the SCCM client into an environment that doesn't have an existing Configuration Manager infrastructure to push from. It's also the method most teams reach for when standing up SCCM in a new domain.

One naming note up front: SCCM was rebranded to Microsoft Endpoint Configuration Manager in 2019 and is now commonly called Configuration Manager or ConfigMgr in Microsoft documentation. Group Policy is not a feature of SCCM. It's an Active Directory feature used to install and configure the SCCM client on domain-joined computers. Once the client is installed, SCCM has its own client settings policies that work independently of Group Policy.

Before you start: disable automatic site-wide client push installation

If your SCCM site has automatic site-wide client push installation enabled, the site server will try to push the client to every discovered computer over SMB and WMI, regardless of whether the GPO also installs it. The two mechanisms compete on the same machines: failed push attempts are recorded in CCM.log on the site server, GPO installation retries occur on the next reboot, resulting in a flood of installation logs that masks real failures.

The solution is to disable site-wide client push before you deploy via GPO, or scope it to a collection that excludes the OUs your GPO targets.

  1. Open the Configuration Manager console.
  2. Go to the Administration workspace and expand Site Configuration > Sites.
  3. Select the primary site.
  4. On the Home tab in the ribbon, click Client Installation Settings > Client Push Installation. (Right-clicking the site and selecting Client Installation Settings > Client Push Installation opens the same dialog.)
  5. On the General tab of the Client Push Installation Properties dialog, clear the Enable automatic site-wide client push installation check box and click OK.

You can still run targeted client push from the console against specific resources after disabling the site-wide setting. The dialog just stops the automatic push for every discovered machine.

Prerequisites

  • A working SCCM site (primary site or central administration site) with at least one management point reachable from the target client subnet.
  • The SCCM client source files copied to a domain-readable file share.
    The full Client folder lives at \\<siteserver>\SMS_<sitecode>\Client\ on the site server. For the MSI method you only need CCMSetup.msi; for the script method, copy the whole Client folder so ccmsetup.exe can find its dependencies.
  • A domain account with permission to create and link GPOs at the target OU.
  • The Group Policy Management Console (GPMC) installed on a workstation or the domain controller.
  • An OU that contains the computer accounts you want the client deployed to. Software installation and startup script policies apply to computers, so the OU structure matters.

Method 1: Assign CCMSetup.msi through a Software Installation GPO

This is Microsoft's documented Group Policy method. The MSI is assigned to computers in the OU and installs at the next reboot.

  1. On the site server, navigate to <ConfigMgr installation directory>\bin\i386\ and copy CCMSetup.msi to a network share that domain computers can read (for example, \\fileserver\sccm-client\). Confirm the share has at least Read permission for Domain Computers.
  2. On a workstation with GPMC installed, press Win + R, type gpmc.msc, and press Enter.
  3. Right-click the OU containing the target computers and select Create a GPO in this domain, and Link it here. Name it something clear like Deploy SCCM Client (MSI).
  4. Right-click the new GPO and select Edit.
  5. Navigate to Computer Configuration > Policies > Software Settings > Software Installation.
  6. Right-click Software Installation and select New > Package.
  7. Browse to the share where you copied CCMSetup.msi and select it. Use the UNC path (\\fileserver\sccm-client\CCMSetup.msi), not a mapped drive letter. Drive mappings won't resolve in the computer context where this policy runs.
  8. In the Deploy Software dialog, select Assigned and click OK. Assigned packages install automatically on the next computer startup.
  9. Close the editor. Reboot a representative target machine to trigger installation.

Important: You cannot pass installation parameters (like SMSSITECODE, SMSMP, or FSP) to CCMSetup.msi. The MSI installs the client framework, then ccmsetup.exe runs and reads its install properties from either Active Directory (if the AD schema has been extended for ConfigMgr) or from the Windows registry. If your environment has not been schema-extended, use Method 2 instead, since the script method lets you pass site parameters directly.

Method 2: Run ccmsetup.exe from a GPO startup script

Method 3: Provision installation properties using the SCCM ADM templates

How to verify the client installed

After the target machine reboots, confirm the SCCM client is installed and registered.

  1. On the target machine, open Control Panel > System and Security > Configuration Manager (or open it directly with c:\windows\ccm\smscfgrc.cpl). The Configuration Manager applet appears once the client is installed.
  2. In the applet, the General tab should show the assigned site code, the management point, and a green Connected status.
  3. From an elevated Command Prompt, run gpresult /r /scope computer and confirm the deployment GPO appears under Applied Group Policy Objects.
  4. Check C:\Windows\ccmsetup\Logs\ccmsetup.log for installation details. Successful installation ends with the line CcmSetup is exiting with return code 0.
  5. Check C:\Windows\CCM\Logs\ClientIDManagerStartup.log for the client's initial registration with the site.
  6. If you used Method 3 to provision install properties, confirm the registry was populated: reg query "HKLM\SOFTWARE\Microsoft\CCMSetup". The values should match what you set in the ADM template policies.

Troubleshooting

  • The MSI installs but the client never registers with the site.

    The schema is probably not extended, so the client can't find installation properties in AD. Either switch to Method 2 with explicit SMSSITECODE and SMSMP parameters, or store installation properties in the registry under HKLM\SOFTWARE\Microsoft\CCMSetup and use a registry preferences GPO to populate them.

  • ccmsetup.log shows "Failed to access source path" or error 0x80070005.

    The share is not readable by Domain Computers. Startup scripts run in the SYSTEM context, which reads share permissions as the computer account, not the logged-on user. Add Domain Computers to the share and NTFS permissions with Read access.

  • The script runs every reboot and reinstalls.

    The if exist check in the batch file is missing or the path is wrong. Confirm the script uses %WINDIR%\ccmsetup\ccmsetup.exe (the installed binary) rather than the source share path.

  • GPO is applied but no installation attempt happens.

    Software installation policies require a reboot. They do not install on gpupdate /force. Force a reboot on the test machine.

  • Different return code than 0 in ccmsetup.log.

    Microsoft publishes a list of ccmsetup.exe exit codes. The most common in GPO deployments are 0x80004005 (generic, usually a permissions or network issue at the share) and 0x80070643 (a prerequisite, often .NET Framework, is missing on the target machine).

  • Clients appear in the SCCM console as failed pushes after the GPO succeeds.

    Site-wide client push installation is still enabled and is racing the GPO. Go back to the Before you start section and disable site-wide push (or scope it away from the GPO's target OUs).

  • Method 3 settings don't show up in the GPO editor.

    The classic ADM templates were imported but the Filtering view in Administrative Templates is hiding non-managed policies. In the GPO editor, click Administrative Templates, right-click and select Filter Options, and check Show "Filter Out" options. Make sure Show only configured policy settings is cleared.

  • HKLM\SOFTWARE\Microsoft\CCMSetup is populated but CCMSetup ignores the values.

    Any installation properties passed on the ccmsetup.exe command line override the provisioned registry values. If you're combining Method 2 and Method 3, choose one source of truth for site code and MP, not both.

How to manage the deployment GPO at scale with ADManager Plus

ADManager Plus provides a centralized, web-based GPO management console that complements the work you do in the Group Policy Management Editor. Once your SCCM client deployment GPO is created, with either the Software Installation package or the startup script configured, ADManager Plus helps you operationalize the rollout across the domain without giving every admin direct GPMC access.

  • Bulk GPO linking: Link the SCCM client deployment GPO to multiple OUs in a single action, especially useful when a rollout expands from a pilot OU to six or seven OUs across multiple sites, instead of repeating each link manually in GPMC.
  • Link order management: Adjust GPO precedence directly from the web UI when a conflicting policy, often an older client deployment GPO from a previous rollout, is overwriting the new one, ensuring the right configuration wins.
  • On-demand policy refresh: Trigger an immediate GPO refresh on selected computers, useful when you want to verify the policy reached the machine before rebooting it to kick off the installation.
  • GPO replication: Copy the SCCM client deployment GPO to another domain in a multi-forest environment without rebuilding the MSI package or startup script entry from scratch, keeping configurations consistent across environments.
  • Application visibility: Use the GPO Settings report to confirm the MSI path or startup script is configured correctly across all your deployment GPOs in one view, and the Resultant Set of Policy report to confirm the policy actually applied to a specific computer before hunting through ccmsetup.log.
  • Delegation oversight: Scope GPO updates and GPO reporting tasks to help desk technicians through role-based delegation, so the team rolling out the SCCM client doesn't need Domain Admin rights to perform the policy operations.

Frequently asked questions

How do I install the SCCM client manually with the command line?

From the Client folder on the site server (\\<siteserver>\SMS_<sitecode>\Client\) or a local copy, run ccmsetup.exe from an elevated Command Prompt with the parameters that match your environment, for example: ccmsetup.exe /mp:sccm-mp.contoso.local SMSSITECODE=P01 FSP=sccm-fsp.contoso.local. The installer runs silently in the background and writes its log to C:\Windows\ccmsetup\Logs\ccmsetup.log. A return code of 0 in the log means a successful install.

What is CCMSetup.msi?

CCMSetup.msi is the Windows Installer package for the Configuration Manager (SCCM) client. It's what you assign through a Software Installation GPO in Method 1. The MSI installs the client framework but doesn't accept installation parameters at install time, so it needs to find its site code, management point, and other properties from one of three sources: an extended AD schema, the registry (provisioned via Method 3), or a follow-up call to ccmsetup.exe.

Does installing the SCCM client require a reboot?

The client install itself doesn't force a reboot in most cases. However, deploying via a Software Installation GPO (Method 1) needs a reboot to trigger the install in the first place, since assigned MSI packages only run at boot. A reboot may also be required if the install replaces a prerequisite like .NET Framework that needs one to finish. After install, the SMS Agent Host service starts running without a reboot.

How do I push the SCCM client without GPO?

Configuration Manager supports five main client installation methods besides Group Policy:

  1. Client push installation from the SCCM console (the site server connects to each target over SMB and WMI with a configured client push installation account).
  2. Software update-based installation (the client is published through WSUS and installs via the Windows Update channel).
  3. Manual installation (run ccmsetup.exe directly on each target).
  4. OS image-based installation (include the client in a base Windows image via task sequence).
  5. Microsoft Intune co-management enrollment for cloud-managed scenarios. Each suits a different deployment context.

What is the difference between client push and GPO deployment?

Client push is initiated from the SCCM site server. The site server connects out to each target over SMB and WMI, using a designated client push installation account with local admin rights on the target. It needs inbound firewall ports open on the client and credentials that map to local administrators across the estate. GPO deployment is the inverse: the install runs on the target, in the SYSTEM context, against a copy of the client source files on a domain-readable share. There's no inbound connection from the site server, no credentials in flight, and no client push installation account to maintain. The trade-off is that GPO needs a reboot to trigger and doesn't report install status back to SCCM the way client push does.

Where is CCMSetup.msi located?

On the SCCM site server, CCMSetup.msi is at <ConfigMgr installation directory>\bin\i386\CCMSetup.msi, which is typically C:\Program Files\Microsoft Configuration Manager\bin\i386\CCMSetup.msi. The full Client folder, which contains ccmsetup.exe and all its dependencies (used for Method 2 and for manual installations), is published as a share at \\<siteserver>\SMS_<sitecode>\Client\.

Streamline AD management with ADManager Plus

ADManager Plus Trusted By

The one-stop solution to Active Directory Management and Reporting