Skip to content

This module contains DSC resources for the management and configuration of Microsoft System Center Configuration Manager Current Branch (ConfigMgrCB).

License

Notifications You must be signed in to change notification settings

dsccommunity/ConfigMgrCBDsc

Repository files navigation

ConfigMgrCBDsc

This module contains DSC resources for the management and configuration of Microsoft System Center Configuration Manager Current Branch (ConfigMgrCB).

Current Branch starts after System Center 2012 with version 1511 Configuration Manager CurrentBranch.

Starting with version 1910 Configuration Manager is now part of Microsoft Endpoint Manager.

This module has been tested on the following versions:

  • Configuration Manager 2006
  • Configuration Manager 2002
  • Configuration Manager 1906
  • Configuration Manager 1902

Note

ConfigMgrCBDsc module uses the ConfigurationManager module that is installed with Configuration Manager. In order to use this module, the site needs to be registered and the certificate needs to be in the Trusted Publishers store. Import-ConfigMgrPowerShellModule, adds keys to the HKEY_Users hive and imports the signing certificate from the ConfigurationManager.psd1 to allow the module to function, as either LocalSystem, or PSDscRunAsCredential specified.

This occurs in Get, Test, and Set. The function that is called in the resources is Import-ConfigMgrPowerShellModule.

Build Status Azure DevOps coverage (branch) codecov Azure DevOps tests PowerShell Gallery (with prereleases) PowerShell Gallery

Code of Conduct

This project has adopted this Code of Conduct.

Change Log

A full list of changes in each version can be found in the Change Log.

Releases

For each merge to the branch master a preview release will be deployed to PowerShell Gallery. Periodically a release version tag will be pushed which will deploy a full release to PowerShell Gallery.

Contributing

Please check out common DSC Community contributing guidelines.

Resources

  • xSccmPreReqs: Provides a composite resource to install ADK, ADK WinPE, MDT, required Windows Features, modify Local Administrators group, and create the no_sms_on_drive files.
  • xSccmInstall: Provides a composite resource to install SCCM.
  • ClientSettings: Provides a resource to perform configuration of client settings.
  • CMAccounts: Provides a resource to manage Configuration Manager accounts.
  • CMIniFile This resource allows for the creation of the ini file used during the SCCM install, for CAS and Primary.
  • CMCollections: Provides a resource for creating collections and collection queries, direct, and exclude membership rules.
  • CMBoundaries: Provides a resource for creating and removing boundaries.
  • CMForestDiscovery: Provides a resource to manage the Configuration Manager AD Forest Discovery method.
  • CMClientStatusSettings: Provides a resource for modifying configuration manager client status settings.
  • CMBoundariesGroup: Provides a resource for creating boundary groups and adding boundaries to the groups.
  • CMManagementPoint: Provides a resource for creating and removing management points.
  • CMAssetIntelligencePoint: Provides a resource for creating and managing the SCCM Asset Intelligence Synchronization Point role.
  • CMFallbackStatusPoint: Provides a resource for creating and managing the SCCM Fallback Status Point role.
  • CMSoftwareUpdatePoint: Provides a resource for creating and managing the SCCM Software Update Point role.
  • CMDistributionPoint: Provides a resource for creating and managing the distribution point role.
  • CMHeartbeatDiscovery: Provides a resource to manage the Configuration Manager Heartbeat Discovery method.
  • CMSystemDiscovery: Provides a resource to manage the Configuration Manager System Discovery method.
  • CMNetworkDiscovery: Provides a resource to manage the Configuration Manager Network Discovery method.
  • CMServiceConnectionPoint: Provides a resource for creating and managing the SCCM Service Connection Point role.
  • CMReportingServicePoint: Provides a resource for creating and managing the SCCM Reporting Service Point role.
  • CMPxeDistributionPoint: Provides a resource for modifying a distribution point to changing to a PXE enabled distribution point.
  • CMPullDistributionPoint: Provides a resource for modifying a distribution point and making the distribution point a Pull Distribution Point.
  • CMSiteMaintenance: Provides a resource for modifying the Site Maintenance tasks.
  • CMAdministrativeUser: Provides a resource for adding, removing, and configuring administrative users.
  • CMDistributionGroup: Provides a resource for creating Distribution Point Groups and adding Distribution Points to the group.
  • CMSiteSystemServer: Provides a resource for adding and modifying a Site System Server and its properties.
  • CMStatusReportingComponent: Provides a resource for modifying the Status Reporting Component and its properties.
  • CMCollectionMembershipEvaluationComponent: Provides a resource for modifying the SCCM Collection Membership Evaluation Component.
  • CMDistributionPointGroupMembers: Provides a resource for adding Distribution Groups to Distribution Points. This resource will not create Distribution Points or Distribution Groups.
  • CMSecurityScopes: Provides a resource for adding and removing Security Scopes. Note: If the Security Scope is currently in use and assigned, DSC will not remove the Security Scope.
  • CMUserDiscovery: Provides a resource to manage the Configuration Manager User Discovery method.
  • CMSecurityRoles: Provides a resource for adding and removing Security Roles. Note: If the Security Role is currently assigned to an administrator, DSC will not remove the Security Role.
  • CMClientPushSettings: Provides a resource for modifying client push settings. Note: EnableSystemTypeConfigurationManager, EnableSystemTypeServer, EnableSystemTypeWorkstation can not be configured if client push is disabled.
  • CMSoftwareDistributionComponent: Provides a resource for modifying software distribution component settings. Also provides the capability to add\remove Network Access Accounts.
  • CMMaintenanceWindows: Provides a resource for creating and modifying maintenance windows for collections.
  • CMFileReplication: Provides a resource for creating, modifying, or deleting file replication settings in Configuration Manager.
  • CMEmailNotificationComponent: Provides a resource for modifying email notification component settings.
  • CMGroupDiscovery: Provides a resource to manage the Configuration Manager Group Discovery method.
  • CMSoftwareUpdatePointComponent: Provides a resource for modifying the Software Update Point Component settings in Configuration Manager.
  • CMClientSettings: Provides a resource for creating, modifying, or removing the client policies.
  • CMClientSettingsBits: Provides a resource for modifying the client policy settings for Bits settings.
  • CMClientSettingsClientCache: Provides a resource for modifying the client policy settings for Client Cache settings.
  • CMClientSettingsClientPolicy: Provides a resource for modifying the client policy settings for Client Policy settings.
  • CMClientSettingsCloudService: Provides a resource for modifying the client policy settings for Cloud Service settings.
  • CMClientSettingsCompliance: Provides a resource for modifying the client policy settings for Compliance settings.
  • CMClientSettingsComputerAgent: Provides a resource for modifying the client policy settings for Computer Agent settings.
  • CMClientSettingsComputerRestart: Provides a resource for modifying the client policy settings for Computer Restart settings.
  • CMClientSettingsDelivery: Provides a resource for modifying the client policy settings for Delivery settings.
  • CMClientSettingsHardware: Provides a resource for modifying the client policy settings for Hardware settings.
  • CMClientSettingsMetered: Provides a resource for modifying the client policy settings for Metered settings.
  • CMClientSettingsPower: Provides a resource for modifying the client policy settings for Power settings.
  • CMClientSettingsRemoteTools: Provides a resource for modifying the client policy settings for Remote Tools settings.
  • CMClientSettingsSoftwareCenter: Provides a resource for modifying the client policy settings for Software Center.
  • CMClientSettingsSoftwareDeployment: Provides a resource for modifying the client policy settings for Software Deployment settings.
  • CMClientSettingsSoftwareInventory: Provides a resource for modifying the client policy settings for Software Inventory settings.
  • CMClientSettingsSoftwareUpdate: Provides a resource for modifying the client policy setting for Software Updates settings.
  • CMClientSettingsSoftwareMetering: Provides a resource for modifying the client policy settings for Software Metering settings.
  • CMClientSettingsStateMessaging: Provides a resource for modifying the client policy settings for State Messaging settings.
  • CMClientSettingsUserDeviceAffinity: Provides a resource for modifying the client policy settings for User Device Affinity settings.
  • CMSiteConfiguration: Provides a resource for modifying the site settings.
  • CMHierarchySetting: Provides a resource to modify hierarchy settings for a site.

xSccmPreReqs

  • [Boolean] InstallADK : Specifies whether to install ADK. Default Value: $true
  • [Boolean] InstallMDT : Specifies whether to install MDT.
  • [String] AdkSetupExePath : Specifies the path and filename to the ADK Setup.
  • [String] AdkWinPeSetupPath : Specifies the path and filename to the ADK WinPE Setup.
  • [String] MdtMsiPath : Specifies the path and filename to the MDT Setup.
  • [String] InstallWindowsFeatures : Specifies to install Windows Features needed for the SCCM install.
  • [String[]] SccmRole : Specifies the SCCM Roles that will be on the server. Default Value: CASorSiteServer
    • Values{CASorSiteServer | AssetIntelligenceSynchronizationPoint | CertificateRegistrationPoint | DistributionPoint | EndpointProtectionPoint | EnrollmentPoint | EnrollmentProxyPoint | FallbackServicePoint | ManagementPoint | ReportingServicesPoint | ServiceConnectionPoint | StateMigrationPoint | SoftwareUpdatePoint}
  • [String] WindowsFeatureSource : Specifies the source that will be used to install windows features if the files are not present in the local side-by-side store.
  • [String] LocalAdministrators : Specifies the accounts and/or groups you want to add to the local administrators group.
  • [String] NoSmsOnDrives : Specifies the drive letters of the drive you don't want SCCM to install on.
  • [PSCredential] DomainCredential : Specifies credentials that have domain read permissions to add domain users or groups to the local administrators group.
  • [String] AdkProductName : Specifies the Product Name for ADK. Default Value: 'Windows Assessment and Deployment Kit - Windows 10'
  • [String] AdkProductID : Specifies the Product ID for ADK. Default Value: 'fb450356-9879-4b2e-8dc9-282709286661'
  • [String] AdkWinPeProductName : Specifies the Product Name for ADK WinPE. Default Value: 'Windows Assessment and Deployment Kit Windows Preinstallation Environment Add-ons - Windows 10'
  • [String] AdkWinPeProductID : Specifies the Product ID for ADK WinPE. Default Value: 'd8369a05-1f4a-4735-9558-6e131201b1a2'
  • [String] AdkInstallPath : Specifies the path to install ADK and ADK WinPE. Default Value: 'C:\Program Files (x86)\Windows Kits\10'
  • [String] MdtProductName : Specifies the Product Name for MDT. Default Value: 'Microsoft Deployment Toolkit (6.3.8456.1000)'
  • [String] MdtProductID : Specifies the Product ID for MDT. Default Value: '2E6CD7B9-9D00-4B04-882F-E6971BC9A763'
  • [String] MdtInstallPath : Specifies the path to install MDT. Default Value: 'C:\Program Files\Microsoft Deployment Toolkit'

xSccmPreReqs Examples

xSccmInstall

Note

If you installed SCCM on version 1906 or earlier, the registry key on the SCCM server won't change on upgrade and you won't need to change the version here if you are using apply and auto correct.

  • [String] SetupExePath (Required): Specifies the path to the setup.exe for SCCM.
  • [String] IniFile (Required): Specifies the path of the ini file, to include the filename.
  • [String] SccmServerType (Required): Specifies the SCCM Server type install, CAS or Primary.
    • Values: { CAS | Primary }
  • [PSCredential] SccmInstallAccount (Required): Specifies the credentials to use for the SCCM install.
  • [UInt32] Version (Required): Specifies the version of SCCM that will be installed.

xSccmInstall Examples

CMAccounts

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] Account (Key): Specifies the Configuration Manager account name.
  • [PSCredential] AccountPassword (Write): Specifies the password of the account being added to Configuration Manager.
  • [String] Ensure (Write): Specifies whether the account is present or absent.
    • Values include: { Present | Absent }

CMAccounts Examples

CMIniFile

  • IniFileName (Key): Specifies the ini file name.
  • IniFilePath (Key): Specifies the path of the ini file.
  • Action (Required): Specifies whether to install a CAS or Primary.
    • Values include: { InstallCAS | InstallPrimarySite }
  • CDLatest (Write): This value informs setup that you're using media from CD.Latest.
  • ProductID (Required): Specifies the Configuration Manager installation product key, including the dashes.
  • SiteCode (Required): Specifies three alphanumeric characters that uniquely identify the site in your hierarchy.
  • SiteName (Required): Specifies the name for this site.
  • SMSInstallDir (Required): Specifies the installation folder for the Configuration Manager program files.
  • SDKServer (Required): Specifies the FQDN for the server that will host the SMS Provider.
  • PreRequisiteComp (Required): Specifies whether setup prerequisite files have already been downloaded.
  • PreRequisitePath (Required): Specifies the path to the setup prerequisite files.
  • AdminConsole (Required): Specifies whether to install the Configuration Manager console.
  • JoinCeip (Required): Specifies whether to join the Customer Experience Improvement Program (CEIP).
  • MobileDeviceLanguage (Required): Specifies whether the mobile device client languages are installed.
  • RoleCommunicationProtocol (Write): Specifies whether to configure all site systems to accept only HTTPS communication from clients, or to configure the communication method for each site system role.
    • Values include: { EnforceHTTPS | HTTPorHTTPS }
  • ClientsUsePKICertificate (Write): Specifies whether clients will use a client PKI certificate to communicate with site system roles.
  • ManagementPoint (Write): Specifies the FQDN of the server that will host the management point site system role.
  • ManagementPointProtocol (Write): Specifies the protocol to use for the management point.
    • Values include: { HTTPS | HTTP }
  • DistributionPoint (Write): Specifies the FQDN of the server that will host the distribution point site system role.
  • DistributionPointProtocol (Write): Specifies the protocol to use for the distribution point.
    • Values include: { HTTPS | HTTP }
  • DistributionPointInstallIis (Write): Specifies whether to install the IIS features when installing the Distribution Point.
  • AddServerLanguages (Write): Specifies the server languages that will be available for the Configuration Manager console, reports, and Configuration Manager objects.
    • Values include: { DEU | FRA | RUS | CHS | JPN | CHT | CSY | ESN | HUN | ITA | KOR | NLD | PLK | PTB | PTG | SVE | TRK | ZHH }
  • AddClientLanguages (Write): Specifies the languages that will be available to client computers.
    • Values include: { DEU | FRA | RUS | CHS | JPN | CHT | CSY | ESN | HUN | ITA | KOR | NLD | PLK | PTB | PTG | SVE | TRK | ZHH }
  • DeleteServerLanguages (Write): Modifies a site after it's installed. Specifies the languages to remove, and which will no longer be available for the Configuration Manager console, reports, and Configuration Manager objects.
    • Values include: { DEU | FRA | RUS | CHS | JPN | CHT | CSY | ESN | HUN | ITA | KOR | NLD | PLK | PTB | PTG | SVE | TRK | ZHH }
  • DeleteClientLanguages (Write): Modifies a site after it's installed. Specifies the languages to remove, and which will no longer be available to client computers.
    • Values include: { DEU | FRA | RUS | CHS | JPN | CHT | CSY | ESN | HUN | ITA | KOR | NLD | PLK | PTB | PTG | SVE | TRK | ZHH }
  • SQLServerName (Required): Specifies the name of the server or clustered instance that's running SQL Server to host the site database.
  • DatabaseName (Required): Specifies the name of the SQL Server database to create, or the SQL Server database to use, when setup installs the CAS database. This can also include the instance, instance<DatabaseName>.
  • SqlSsbPort (Write): Specifies the SQL Server Service Broker (SSB) port that SQL Server uses.
  • SQLDataFilePath (Write): Specifies an alternate location to create the database .mdb file.
  • SQLLogFilePath (Write): Specifies an alternate location to create the database .ldf file.
  • CCARSiteServer (Write): Specifies the CAS that a primary site attaches to when it joins the Configuration Manager hierarchy.
  • CasRetryInterval (Write): Specifies the retry interval in minutes to attempt a connection to the CAS after the connection fails.
  • WaitForCasTimeout (Write): Specifies the maximum timeout value in minutes for a primary site to connect to the CAS.
  • CloudConnector (Required): Specifies the FQDN of the server that will host the service connection point site system role.
  • CloudConnectorServer (Write): Specifies the FQDN of the server that will host the service connection point site system role.
  • UseProxy (Write): Specifies whether the service connection point uses a proxy server.
  • ProxyName (Write): Specifies the FQDN of the proxy server that the service connection point uses.
  • ProxyPort (Write): Specifies the port number to use for the proxy port.
  • SAActive (Write): Specify if you have active Software Assurance.
  • CurrentBranch (Write): Specify whether to use Configuration Manager current branch or long-term servicing branch (LTSB).

CMIniFile Examples

CMCollections

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] CollectionName (Key): Specifies the name of the collection.
  • [String] CollectionType (Key): Specifies the type of collection. { User | Device }.
  • [String] LimitingCollectionName (Write): Specifies the name of a collection to use as the default scope for this collection.
  • [String] Comment (Write): Specifies a comment for the collection.
  • [String] Start (Write): Specifies the start date and start time for the collection refresh schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the collection refresh schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours | Minutes | None }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules. Note specifying 0 sets the schedule to run the last day of the month.
    • Values Range: 0 - 31
  • [String] RefreshType (Write): Specifies how the collection is refreshed. { Manual | Periodic | Continuous | Both }.
  • [EmbeddedInstance] QueryRules[] (Write): Specifies the name of the rule and the query expression that Configuration Manager uses to update collections.
  • [String] ExcludeMembership[] (Write): Specifies the collection name to exclude.
  • [String] DirectMembership[] (Write): Specifies the resource id or name for the direct membership rule.
  • [String] IncludeMembership[] (Write): Specifies the collection to include members.
  • [String] Ensure (Write): Specifies status of the collection is to be present or absent.
    • Values include: { Present | Absent }

CMCollections Examples

CMBoundaries

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] Value (Key): Specifies the value for the boundary.
  • [String] DisplayName (Required): Specifies the display name of the boundary.
  • [String] Type (Required): Specifies the type of boundary.
    • Values include: { ADSite | IPSubnet | IPRange | VPN | IPv6Prefix }
  • [String] Ensure (Write): Specifies whether the boundary is present or absent.
    • Values include: { Present | Absent }
  • [String] BoundaryID (Read): Specifies the boundary id.

CMBoundaries Examples

CMForestDiscovery

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] Enabled (Required): Specifies the enablement of the forest discovery method. If settings is set to $false no other value provided will be evaluated for compliance.
  • [Boolean] EnableActiveDirectorySiteBoundaryCreation (Write): Indicates whether Configuration Manager creates Active Directory boundaries from AD DS discovery information.
  • [Boolean] EnableSubnetBoundaryCreation (Write): Indicates whether Configuration Manager creates IP address range boundaries from AD DS discovery information.
  • [String] ScheduleInterval (Write): Specifies the time when the scheduled event recurs in hours and days.
    • Values include: { Hours | Days }
  • [String] ScheduleCount (Write): Specifies how often the recur interval is run. If hours are specified the max value is 23. Anything over 23 will result in 23 to be set. If days are specified the max value is 31. Anything over 31 will result in 31 to be set.

CMForestDiscovery Examples

CMClientStatusSettings

  • [String] IsSingleInstance (Key): Specifies the resource is a single instance, the value must be 'Yes'. { Yes }.
  • [String] SiteCode (Required): Specifies the Site Code for the Configuration Manager site.
  • [UInt32] ClientPolicyDays (Write): Specifies the data collection interval for client policy client monitoring activities.
  • [UInt32] HeartbeatDiscoveryDays (Write): Specifies the data collection interval for heartbeat discovery client monitoring activities.
  • [UInt32] SoftwareInventoryDays (Write): Specifies the data collection interval for software inventory client monitoring activities.
  • [UInt32] HardwareInventoryDays (Write): Specifies the data collection interval for hardware inventory client monitoring activities.
  • [UInt32] StatusMessageDays (Write): Specifies the data collection interval for status message client monitoring activities.
  • [UInt32] HistoryCleanupDays (Write): Specifies the data collection interval for status history cleanup client monitoring activities.

CMClientStatusSettings Examples

CMBoundaryGroups

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] BoundaryGroup (Key): Specifies the name of the Boundary Group.
  • [EmbeddedInstance] Boundaries (Write): Specifies an array of Boundaries to add or remove from the Boundary Group.
  • [String] BoundaryAction (Write): Specifies the Boundaries are to match, add, or remove Boundaries from the Boundary Group
    • Values include: { Match | Add | Remove }
  • [String] SiteSystems[] _(Write): Specifies an array of Site Systems to match for the Boundary Group.
  • [String] SiteSystemsToInclude[] _(Write): Specifies an array of Site Systems to add to the Boundary Group.
  • [String] SiteSystemsToExclude[] _(Write): Specifies an array of Site Systems to remove from the Boundary Group.
  • [String] SecurityScopes[] _(Write): Specifies an array of Security Scopes to match for the Boundary Group.
  • [String] SecurityScopesToInclude[] _(Write): Specifies an array of Security Scopes to add to the Boundary Group.
  • [String] SecurityScopesToExclude[] _(Write): Specifies an array of Security Scopes to remove from the Boundary Group.
  • [String] Ensure (Write): Specifies status of the Boundary Group is to be present or absent.
    • Values include: { Present | Absent }

CMBoundaryGroups Examples

CMManagementPoint

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Key): Specifies the SiteServer to install the role on.
  • [String] SqlServerFqdn (Write): Specifies the SQL server FQDN if using a SQL replica.
  • [String] DatabaseName (Write): Specifies the name of the site database\replica that the management point uses.
  • [String] ClientConnectionType (Write): Specifies the type of the client connection.
    • Values include: { Internet | Intranet | InternetAndIntranet }
  • [Boolean] EnableCloudGateway (Write): Specifies if a cloud gateway is to be used for the management point.
  • [Boolean] EnableSsl (Write): Specifies whether to enable SSL (HTTPS) traffic to the management point.
  • [Boolean] GenerateAlert (Write): Indicates whether the management point generates health alerts.
  • [Boolean] UseSiteDatabase (Write): Indicates whether the management point queries a site database.
  • [Boolean] UseComputerAccount (Write): Indicates that the management point uses its own computer account.
  • [String] SqlServerInstanceName (Write): Specifies the name of the SQL Server instance that clients use to communicate with the site system.
  • [String] Username (Write): Specifies user account the management point uses to access site information.
  • [String] Ensure (Write): Specifies whether the management point is present or absent.
    • Values include: { Present | Absent }

CMManagementPoint Examples

CMAssetIntelligencePoint

  • [String] IsSingleInstance (Key): Specifies the resource is a single instance, the value must be 'Yes'.
    • Values include: { Yes }.
  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Required): Specifies the Site Server to install or configure the role on. If the role is already installed on another server this setting will be ignored.
  • [String] CertificateFile (Write): Specifies the path to a System Center Online authentication certificate (.pfx) file. If used, this must be in UNC format. Local paths are not allowed. Mutually exclusive with the RemoveCertificate parameter.
  • [String] Start (Write): Specifies the start date and start time for the synchronization schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the synchronization schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | None }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
    • Values Range: 0 - 31
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules. Note specifying 0 sets the schedule to run the last day of the month.
    • Values Range: 0 - 31
  • [Boolean] Enable (Write): Specifies whether the installed asset intelligence role is enabled or disabled.
  • [Boolean] EnableSynchronization (Write): Specifies whether to synchronize the asset intelligence catalog.
  • [Boolean] RemoveCertificate (Write): Specifies whether to remove a configured certificate file. Mutually exclusive with the CertificateFile Parameter.
  • [String] Ensure (Write): Specifies whether the asset intelligence synchronization point is present or absent.
    • Values include: { Present | Absent }

CMAssetIntelligencePoint Examples

CMFallbackStatusPoint

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Key): Specifies the Site Server to install or configure the role on.
  • [UInt32] StateMessageCount (Write): Specifies the number of state messages that a fallback status point can send to Configuration Manager within a throttle interval.
  • [UInt32] ThrottleSec (Write): Specifies the throttle interval in seconds.
  • [String] Ensure (Write): Specifies whether the fallback status point is present or absent.
    • Values include: { Present | Absent }

CMFallbackStatusPoint Examples

CMSoftwareUpdatePoint

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Key): Specifies the Site Server to install or configure the role on.
  • [Boolean] AnonymousWsusAccess (Write): Indicates that the software update point allows anonymous access. Mutually exclusive with WsusAccessAccount.
  • [String] ClientConnectionType (Write): Specifies the type of the client connection.
    • Values include: { Internet | Intranet | InternetAndIntranet }
  • [Boolean] EnableCloudGateway (Write): Specifies if a cloud gateway is to be used for the software update point. When enabling the cloud gateway, the client connectiontype must be either Internet or InterneAndIntranet. When enabling the cloud gateway, SSL must be enabled.
  • [Boolean] UseProxy (Write): Indicates whether a software update point uses the proxy configured for the site system server.
  • [Boolean] UseProxyForAutoDeploymentRule (Write): Indicates whether an auto deployment rule can use a proxy.
  • [String] WsusAccessAccount (Write): Specifies an account used to connect to the WSUS server. When not used, specify the AnonymousWsusAccess parameter.
  • [UInt32] WsusIisPort (Write): Specifies a port to use for unsecured access to the Wsus server.
  • [UInt32] WsusIisSslPort (Write): Specifies a port to use for secured access to the Wsus server.
  • [Boolean] WsusSsl (Write): Specifies whether the software update point uses SSL to connect to the Wsus server.
  • [String] Ensure (Write): Specifies whether the software update point is present or absent.
    • Values include: { Present | Absent }

CMSoftwareUpdatePoint Examples

CMDistributionPoint

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Key): Specifies the SiteServer to install the role.
  • [String] Description (Write): Specifies a description for the distribution point.
  • [UInt32] MinimumFreeSpaceMB (Write): Specifies the amount of free space to reserve on each drive used by this distribution point. Only used when distribution point is not currently installed.
  • [String] PrimaryContentLibraryLocation (Write): Specifies the primary content location. Configuration Manager copies content to the primary content location until the amount of free space reaches the value that you specified. Only used when distribution point is not currently installed.
  • [String] SecondaryContentLibraryLocation (Write): Specifies the secondary content location. Only used when distribution point is not currently installed.
  • [String] PrimaryPackageShareLocation (Write): Specifies the primary package share location. Configuration Manager copies content to the primary package share location until the amount of free space reaches the value that you specified. Only used when distribution point is not currently installed.
  • [String] SecondaryPackageShareLocation (Write): Specifies the secondary package share location. Only used when distribution point is not currently installed.
  • [DateTime] CertificateExpirationTimeUtc (Write): Specifies, in UTC format, the date and time when the certificate expires. Only used when distribution point is not currently installed.
  • [String] ClientCommunicationType (Write): Specifies protocol clients or devices communicate with the distribution point.
    • Values include: { Http | Https }
  • [String] BoundaryGroups[] (Write): Specifies an array of existing boundary groups by name.
  • [String] BoundaryGroupStatus (Write): Specifies if the boundary group is to be added, removed, or match BoundaryGroups.
    • Values include: { Add | Remove | Match }
  • [Boolean] AllowPreStaging (Write): Indicates whether the distribution point is enabled for prestaged content.
  • [Boolean] EnableAnonymous (Write): Indicates that the distribution point permits anonymous connections from Configuration Manager clients to the content library.
  • [Boolean] EnableBranchCache (Write): Indicates that clients that use Windows BranchCache are allowed to download content from an on-premises distribution point
  • [Boolean] EnableLedbat (Write): Indicates whether to adjust the download speed to use the unused network Bandwidth or Windows LEDBAT.
  • [String] Ensure (Write): Specifies if the DP is to be present or absent.
    • Values include: { Absent | Present }

CMDistributionPoint Examples

CMHeartbeatDiscovery

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] Enabled (Required): Specifies the enablement of the heartbeat discovery method. If settings is set to $false no other value provided will be evaluated for compliance.
  • [String] ScheduleInterval (Write): Specifies the time when the scheduled event recurs in hours and days.
    • Values include: { Hours | Days }
  • [String] ScheduleCount (Write): Specifies how often the recur interval is run. If hours are specified the max value is 23. Anything over 23 will result in 23 to be set. If days are specified the max value is 31. Anything over 31 will result in 31 to be set.

CMHeartbeatDiscovery Examples

CMNetworkDiscovery

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] Enabled (Required): Specifies the enablement of the network discovery method.

CMNetworkDiscovery Examples

CMSystemDiscovery

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] Enabled (Key): Specifies the enablement of the system discovery method. If settings is set to $false no other value provided will be evaluated for compliance.
  • [Boolean] EnableDeltaDiscovery (Write): Indicates whether Configuration Manager discovers resources created or modified in AD DS since the last discovery cycle.
  • [UInt32] DeltaDiscoveryMins (Write): Specifies the number of minutes for the delta discovery.
  • [Boolean] EnableFilteringExpiredLogon (Write): Indicates whether Configuration Manager discovers only computers that have logged onto a domain within a specified number of days.
  • [UInt32] TimeSinceLastLogonDays (Write): Specify the number of days for EnableFilteringExpiredLogon.
  • [Boolean] EnableFilteringExpiredPassword (Write): Indicates whether Configuration Manager discovers only computers that have updated their computer account password within a specified number of days.
  • [UInt32] TimeSinceLastPasswordUpdateDays (Write): Specify the number of days for EnableFilteringExpiredPassword.
  • [String] ADContainers[] (Write): Specifies an array of names of Active Directory containers to match to the discovery.
  • [String] ADContainersToInclude[] (Write): Specifies an array of names of Active Directory containers to add to the discovery.
  • [String] ADContainersToExclude[] (Write): Specifies an array of names of Active Directory containers to exclude to the discovery.
  • [String] ScheduleInterval (Write): Specifies the time when the scheduled event recurs in hours and days.
    • Values include: { None| Days| Hours | Minutes }
  • [UInt32] ScheduleCount (Write): Specifies how often the recur interval is run. If hours are specified the max value is 23. Anything over 23 will result in 23 to be set. If days are specified the max value is 31. Anything over 31 will result in 31 to be set.

CMSystemDiscovery Examples

CMServiceConnectionPoint

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Required): Specifies the Site Server to install or configure the role on.
  • [String] Mode (Write): Specifies a mode for the service connection point.
    • Values include: { Online | Offline }
  • [String] Ensure (Write): Specifies whether the service connection point is present or absent.
    • Values include: { Absent | Present }

CMServiceConnectionPoint Examples

CMReportingServicePoint

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Key): Specifies the Site Server to install or configure the role on.
  • [String] DatabaseName (Write): Specifies the name of the Configuration Manager database that you want to use as the data source for reports from Microsoft SQL Server Reporting Services.
  • [String] DatabaseServerName (Write): Specifies the name of the Configuration Manager database server that you want to use as the data source for reports from Microsoft SQL Server Reporting Services. To specify a database instance, use the format Server Name\Instance Name.
  • [String] FolderName (Write): Specifies the name of the report folder on the report server. This parameter can only be used when installing the role.
  • [String] ReportServerInstance (Write): Specifies the name of an instance of Microsoft SQL Server Reporting Services. This parameter can only be used when installing the role.
  • [String] Username (Write): Specifies a Username for an account that Configuration Manager uses to connect with Microsoft SQL Server Reporting Services and that gives this user access to the site database.
  • [String] Ensure (Write): Specifies whether the asset reporting service point is present or absent.
    • Values include: { Present | Absent }

CMReportingServicePoint Examples

CMPxeDistributionPoint

  • [String] SiteCode (Key): Specifies the SiteCode for the Configuration Manager site.
  • [String] SiteServerName (Key): Specifies the SiteServer to install the role on.
  • [Boolean] EnablePxe (Write): Indicates whether PXE is enabled on the distribution point.
  • [Boolean] EnableNonWdsPxe (Write): Specifies whether to enable PXE responder without Windows Deployment services.
  • [Boolean] EnableUnknownComputerSupport (Write): Indicates whether support for unknown computers is enabled.
  • [Boolean] AllowPxeResponse (Write): Indicates whether the distribution point can respond to PXE requests.
  • [UInt16] PxeServerResponseDelaySec (Write): Specifies, in seconds, how long the distribution point delays before it responds to computer requests.
  • [String] UserDeviceAffinity (Write): Specifies how you want the distribution point to associate users with their devices for PXE deployments.
    • Values include: { DoNotUse | AllowWithManualApproval | AllowWithAutomaticApproval }
  • [PSCredential] PxePassword (Write): Specifies, as a credential, the PXE password.
  • [Boolean] IsMulticast (Read): Specifies if multicast is enabled.
  • [String] DPStatus (Read): Specifies if the DP role is installed.

CMPxeDistributionPoint Examples

CMPullDistributionPoint

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteServerName (Key): Specifies the SiteServer to configure the Pull Distribution Point.
  • [Boolean] EnablePullDP (Write): Specifies if the distribution point is to be set to enabled or disabled for pull distribution point.
  • [EmbeddedInstance] SourceDistributionPoint[] (Write): Specifies the desired source distribution points and the DP ranking.
  • [String] DPStatus (Read): Specifies if the DP role is installed.

CMPullDistributionPoint Examples

CMSiteMaintenance

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] TaskName (Key): Specifies the name of the maintenance task.
    • Values include: { Delete Aged Inventory History | Delete Aged Metering Data | Clear Undiscovered Clients | Delete Obsolete Alerts | Delete Aged Replication Data | Delete Aged Device Wipe Record | Delete Aged Enrolled Devices | Delete Aged User Device Affinity Data | Delete Duplicate System Discovery Data | Delete Aged Unknown Computers | Delete Expired MDM Bulk Enroll Package Records | Backup SMS Site Server | Delete Aged Status Messages | Delete Aged Metering Summary Data | Delete Inactive Client Discovery Data | Delete Aged Application Revisions | Delete Aged Replication Summary Data | Delete Obsolete Forest Discovery Sites And Subnets | Delete Aged Threat Data | Delete Aged Delete Detection Data | Delete Aged Distribution Point Usage Stats | Delete Orphaned Client Deployment State Records | Rebuild Indexes | Delete Aged Discovery Data | Summarize File Usage Metering Data | Delete Obsolete Client Discovery Data | Delete Aged Log Data | Delete Aged Application Request Data | Check Application Title with Inventory Information | Delete Aged EP Health Status History Data | Delete Aged Notification Task History | Delete Aged Passcode Records | Delete Aged Console Connection Data | Monitor Keys | Delete Aged Collected Files | Summarize Monthly Usage Metering Data | Delete Aged Computer Association Data | Delete Aged Client Download History | Delete Aged Exchange Partnership | Summarize Installed Software Data | Delete Aged Client Operations | Delete Aged Notification Server History | Update Application Available Targeting | Delete Aged Cloud Management Gateway Traffic Data | Update Application Catalog Tables }
  • [Boolean] Enabled (Required): Specifies if the task is enabled or disabled.
  • [String] DaysOfWeek[] (Write): Specifies an array of day names that determine the days of each week on which the maintenance task runs.
  • [String] BeginTime (Write): Specifies the time at which a maintenance task starts.
  • [String] LatestBeginTime (Write): Specifies the latest start time at which the maintenance task runs.
  • [UInt32] DeleteOlderThanDays (Write): Specifies how many days to delete data that has been inactive for.
  • [String] BackupLocation (Write): Specifies the backup location for Backup Site Server.
  • [UInt32] RunInterval (Write): Species the run interval in minutes for Application Catalog Tables task only.
  • [UInt32] TaskType (Read): Specifies the type of task.
  • [UInt32] SiteType (Read): Specifies the a numeric value for the site type.

CMSiteMaintenance Examples

CMAdministrativeUser

  • [String] AdminName (Key): Specifies the name of the administrator account.
  • [String] SiteCode (Required): Specifies the Site Code for the Configuration Manager site.
  • [String] Roles[] (Write): Specifies an array of names for the roles desired to be assigned to an administrative user.
  • [String] RolesToInclude[] (Write): Specifies an array of names for the roles desired to be added to an administrative user.
  • [String] RolesToExclude[] (Write): Specifies an array of names for the roles desired to be removed from an administrative user.
  • [String] Scopes[] (Write): Specifies an array of names for the scopes desired to be assigned to an administrative user.
  • [String] ScopesToInclude[] (Write): Specifies an array of names for the scopes desired to be added to an administrative user.
  • [String] ScopesToExclude[] (Write): Specifies an array of names for the scopes desired to be removed from an administrative user.
  • [String] Collections[] (Write): Specifies an array of names for the collections desired to be assigned to an administrative user.
  • [String] CollectionsToInclude[] (Write): Specifies an array of names for the collections desired to be added to an administrative user.
  • [String] CollectionsToExclude[] (Write): Specifies an array of names for the collections desired to be removed from an administrative user.
  • [String] Ensure (Write): Specifies whether the administrative user is present or absent.
    • Values include: { Present | Absent }

CMAdministrativeUser Examples

CMDistributionGroup

  • [String] DistributionGroup (Key): Specifies the Distribution Group name.
  • [String] SiteCode (Required): Specifies the Site Code for the Configuration Manager site.
  • [String] DistributionPoints[] (Write): Specifies an array of Distribution Points to match to the Distribution Group.
  • [String] DistributionPointsToInclude[] (Write): Specifies an array of Distribution Points to add to the Distribution Group.
  • [String] DistributionPointsToExclude[] (Write): Specifies an array of Distribution Points to remove from the Distribution Group.
  • [String] SecurityScopes[] (Write): Specifies an array of Security Scopes to match to the Distribution Group.
  • [String] SecurityScopesToInclude[] (Write): Specifies an array of Security Scopes to add to the Distribution Group.
  • [String] SecurityScopesToExclude[] (Write): Specifies an array of Security Scopes to remove from the Distribution Group.
  • [String] Collections[] (Write): Specifies an array of Collections to match to the Distribution Group.
  • [String] CollectionsToInclude[] (Write): Specifies an array of Collections to add to the Distribution Group.
  • [String] CollectionsToExclude[] (Write): Specifies an array of Collections to remove from the Distribution Group.
  • [String] Ensure (Write): Specifies whether the Distribution Group is present or absent.
    • Values include: { Present | Absent }

CMDistributionGroup Examples

CMSiteSystemServer

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SiteSystemServer (Key): Specifies the name of the site system server.
  • [String] PublicFqdn (Write): Specifies the public FQDN of the site server. Setting PublicFqdn = '' will disable the PublicFqdn setting.
  • [Boolean] FdmOperation (Write): Indicates whether the site system server is required to initiate connections to this site system.
  • [Boolean] UseSiteServerAccount (Write): Indicates that the install uses the site server's computer account to install the site system.
  • [String] AccountName (Write): Specifies the account name for installing the site system.
  • [Boolean] EnableProxy (Write): Indicates whether to enable a proxy server to use when the server synchronizes information from the Internet.
  • [String] ProxyServerName (Write): Specifies the name of a proxy server. Use a fully qualified domain name FQDN, short name, or IPv4/IPv6 address.
  • [UInt32] ProxyServerPort (Write): Specifies the proxy server port number to use when connecting to the Internet.
  • [String] ProxyAccessAccount (Write): Specifies the credentials to use to authenticate with the proxy server. Setting ProxyAccessAccount = '' will reset the proxy to use system account.
  • [String] Ensure (Write): Specifies whether the system site server is present or absent.
    • Values include: { Present | Absent }

CMSiteSystemServer Examples

CMStatusReportingComponent

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] ClientLogChecked (Write): Indicates whether a client log is checked.
  • [Boolean] ClientLogFailureChecked (Write): Indicates whether a client log failure is checked.
  • [String] ClientLogType (Write): Specifies a client log type.
    • Values include: { AllMilestones | AllMilestonesAndAllDetails | ErrorAndWarningMilestones | ErrorMilestones }
  • [Boolean] ClientReportChecked (Write): Indicates whether a client report is checked.
  • [Boolean] ClientReportFailureChecked (Write): Indicates whether a client failure is checked.
  • [String] ClientReportType (Write): Specifies a client report type.
    • Values include: { AllMilestones | AllMilestonesAndAllDetails | ErrorAndWarningMilestones | ErrorMilestones }
  • [Boolean] ServerLogChecked (Write): Indicates whether a server log is checked.
  • [Boolean] ServerLogFailureChecked (Write): Indicates whether a server log failure is checked.
  • [String] ServerLogType (Write): Specifies a server log type.
    • Values include: { AllMilestones | AllMilestonesAndAllDetails | ErrorAndWarningMilestones | ErrorMilestones }
  • [Boolean] ServerReportChecked (Write): Indicates whether a server report is checked.
  • [Boolean] ServerReportFailureChecked (Write): Indicates whether a server report failure is checked.
  • [String] ServerReportType (Write): Specifies a server report type.
    • Values include: { AllMilestones | AllMilestonesAndAllDetails | ErrorAndWarningMilestones | ErrorMilestones }

CMStatusReportingComponent Examples

CMCollectionMembershipEvaluationComponent

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [UInt32] EvaluationMins (Required): Indicates the CM Collection Membership Evaluation Component interval in minutes.

CMCollectionMembershipEvaluationComponent Examples

CMDistributionPointGroupMembers

  • [String] DistributionPoint (Key): Specifies the Distribution Point to modify Distribution Point Group membership.
  • [String] SiteCode (Required): Specifies the Site Code for the Configuration Manager site.
  • [String] DistributionGroups[] (Write): Specifies an array of Distribution Groups to match on the Distribution Point.
  • [String] DistributionGroupsToInclude[] (Write): Specifies an array of Distribution Groups to add to the Distribution Point.
  • [String] DistributionGroupsToExclude[] (Write): Specifies an array of Distribution Groups to remove from the Distribution Point.
  • [String] DPStatus (Read): Specifies if the DP role is installed.

CMDistributionPointGroupMembers Example

CMSecurityScopes

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SecurityScopeName (Key): Specifies the Security Scope name.
  • [String] Description (Write): Specifies the description of the Security Scope.
  • [String] Ensure (Write): Specifies whether the Security Scope is present or absent.
    • Values include: { Present | Absent }
  • [Boolean] InUse (Read): Specifies if the Security Scope is currently in use.

CMSecurityScopes Examples

CMUserDiscovery

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] Enabled (Key): Specifies the enablement of the User Discovery method. If settings is set to $false no other value provided will be evaluated for compliance.
  • [Boolean] EnableDeltaDiscovery (Write): Indicates whether Configuration Manager discovers resources created or modified in AD DS since the last discovery cycle.
  • [UInt32] DeltaDiscoveryMins (Write): Specifies the number of minutes for the delta discovery.
  • [String] ADContainers[] (Write): Specifies an array of names of Active Directory containers to match to the discovery.
  • [String] ADContainersToInclude[] (Write): Specifies an array of names of Active Directory containers to add to the discovery.
  • [String] ADContainersToExclude[] (Write): Specifies an array of names of Active Directory containers to exclude to the discovery.
  • [String] ScheduleInterval (Write): Specifies the time when the scheduled event recurs in hours and days.
    • Values include: { None| Days| Hours | Minutes }
  • [UInt32] ScheduleCount (Write): Specifies how often the recur interval is run. If hours are specified the max value is 23. Anything over 23 will result in 23 to be set. If days are specified the max value is 31. Anything over 31 will result in 31 being set.

CMUserDiscovery Examples

CMSecurityRoles

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] SecurityRoleName (Key): Specifies the Security Role name.
  • [String] Description (Write): Specifies the description of the Security Role.
  • [String] XmlPath (Write): Specifies the path the Security Role xml file to evaluate and import.
  • [Boolean] OverWrite (Write): Specifies if the Security Roles does not match the xml this will overwrite the policy.
  • [Boolean] Append (Write): Specifies additional settings in the xml will be appended to the current Security Role. If append is used a new xml file will be created merging current settings with the additional settings in the xml. Any settings that are currently configured and in the xml will match the settings specified in the xml file. The original XML file will be renamed and be updated with a date time stamp and renamed to .old.
  • [String] Ensure (Write): Specifies whether the Security Role is present or absent.
    • Values include: { Present | Absent }
  • [String] Operation (Read): Specifies the configurations of the Security Role.
  • [String] UsersAssigned[] (Read): Specifies the accounts associated with the Security Role.

CMSecurityRoles Examples

CMClientPushSettings

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] EnableAutomaticClientPushInstallation (Write): Specifies whether Configuration Manager automatically uses client push for discovered computers.
  • [Boolean] EnableSystemTypeConfigurationManager (Write): Specifies whether Configuration Manager pushes the client software to Configuration Manager site system servers.
  • [Boolean] EnableSystemTypeServer (Write): Specifies whether Configuration Manager pushes the client software to servers.
  • [Boolean] EnableSystemTypeWorkstation (Write): Specifies whether Configuration Manager pushes the client software to workstations.
  • [Boolean] InstallClientToDomainController (Write): Specifies whether to use automatic site-wide client push installation to install the Configuration Manager client software on domain controllers.
  • [String] InstallationProperty (Write): Specifies any installation properties to use when installing the Configuration Manager client. Note: No validation is performed on the string of text entered and will import as specified.
  • [String] Accounts[] (Write): Specifies an array of accounts to exactly match for use with client push.
  • [String] AccountsToInclude[] (Write): Specifies an array of accounts to add for use with client push.
  • [String] AccountsToExclude[] (Write): Specifies an array of accounts to remove for use with client push.

CMClientPushSettings Examples

CMSoftwareDistributionComponent

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [UInt32] MaximumPackageCount (Write): Specifies a maximum number of packages for concurrent distribution.
    • Values Range: 1 - 50
  • [UInt32] MaximumThreadCountPerPackage (Write): Specifies a maximum thread count per package for concurrent distribution.
    • Values Range: 1 - 999
  • [UInt32] RetryCount (Write): Specifies the retry count for a package distribution.
    • Values Range: 1 - 1000
  • [UInt32] DelayBeforeRetryingMins (Write): Specifies the retry delay, in minutes, for a failed package distribution.
    • Values Range: 1 - 1440
  • [UInt32] MulticastRetryCount (Write): Specifies the retry count for a multicast distribution.
    • Values Range: 1 - 1000
  • [UInt32] MulticastDelayBeforeRetryingMins (Write): Specifies the retry delay, in minutes, for a failed multicast distribution.
    • Values Range: 1 - 1440
  • [Boolean] ClientComputerAccount (Write): Specifies if the computer account should be used instead of Network Access account. Note: Setting to true will remove all network access accounts.
  • [String] AccessAccounts[] (Write): Specifies an array of accounts to exactly match for Network Access list with software distribution.
  • [String] AccessAccountsToInclude[] (Write): Specifies an array of accounts to add for use with software distribution.
  • [String] AccessAccountsToExclude[] (Write): Specifies an array of accounts to remove for use with software distribution.

CMSoftwareDistributionComponent Examples

CMMaintenanceWindows

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] CollectionName (Key): Specifies the collection name for the maintenance window.
  • [String] Name _(Key): Specifies the name for the maintenance window.
  • [String] ServiceWindowsType (Write): Specifies what the maintenance window will apply to.
    • Values include: { Any | SoftwareUpdatesOnly | TaskSequencesOnly }
  • [String] Start _(Key): Specifies the start date and start time for the maintenance window Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the maintenance window.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | None }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules. Note specifying 0 sets the schedule to run the last day of the month.
    • Values Range: 0 - 31
  • [UInt32] HourDuration (Write): Specifies the duration for the maintenance window in hours, max value 23.
    • Values Range: 0 - 23
  • [UInt32] MinuteDuration (Write): Specifies the duration for the maintenance window in minutes, max value 59.
    • Values Range: 5 - 59
  • [Boolean] IsEnabled (Write): Specifies if the maintenance window is enabled, default value is enabled.
  • [String] Ensure (Write): Specifies whether the Security Scope is present or absent.
    • Values include: { Present | Absent }
  • [String] Description (Read): Provides the description of the maintenance window.
  • [String] CollectionStatus (Read): Specifies if the collection applying the maintenance window to exists.

CMMaintenanceWindows Examples

CMFileReplication

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] DestinationSiteCode (Key): Specifies the destination site for the file replication route by using a site code.
  • [UInt32] DataBlockSizeKB (Write): Specifies a data block size, in kilobytes. Used in conjunction with the PulseMode parameter.
    • Values Range: 1 - 256
  • [UInt32] DelayBetweenDataBlockSec (Write): Delay, in seconds, between sending data blocks when PulseMode is used.
    • Values Range: 1 - 30
  • [String] FileReplicationAccountName (Write): Specifies the account that Configuration Manager uses for file replication.
  • [Boolean] UseSystemAccount (Write): Specifies if the replication service will use the site system account.
  • [Boolean] Limited (Write): Indicates that bandwidth for a file replication route is limited.
  • [Boolean] PulseMode (Write): Indicates that file replication uses data block size and delays between transmissions.
  • [Boolean] Unlimited (Write): Indicates that bandwidth for a file replication route is unlimited.
  • [EmbeddedInstance] RateLimitingSchedule[] (Write): Specifies, as an array of CimInstances, hour ranges and bandwidth percentages for limiting file replication.
  • [EmbeddedInstance] NetworkLoadSchedule[] (Write): Specifies, as an array of CimInstances, hour ranges and bandwidth percentages for network load balancing schedule.
  • [String] Ensure (Write): Specifies whether the file replication route is present or absent.
    • Values include: { Present | Absent }

CMFileReplication Examples

CMEmailNotificationComponent

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] Enabled (Key): Specifies if email notifications are enabled or disabled.
  • [String] SmtpServerFqdn (Write): Specifies the FQDN of the site server that will send email.
  • [String] SendFrom (Write): Specifies the address used to send email.
  • [UInt32] Port (Write): Specifies the port used to send email.
  • [String] UserName (Write): Specifies the username for authenticating against an SMTP server. Only used when AuthenticationMethod equals Other.
  • [Boolean] UseSsl (Write): Specifies whether to use SSL for email alerts. If omitted, the assumed intent is that SSL is not to be used.
  • [String] TypeOfAuthentication (Write): Specifies the method by which Configuration Manager authenticates the site server to the SMTP Server.
    • Values include: {Anonymous|DefaultServiceAccount|Other}

CMEmailNotificationComponent Examples

CMGroupDiscovery

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [Boolean] Enabled (Key): Specifies the enablement of the system discovery method.
  • [Boolean] EnableDeltaDiscovery (Write): Indicates whether Configuration Manager discovers resources created or modified in AD DS since the last discovery cycle.
  • [UInt32] DeltaDiscoveryMins (Write): Specifies the number of minutes for the delta discovery.
    • Values Range: 5 - 60
  • [Boolean] EnableFilteringExpiredLogon (Write): Indicates whether Configuration Manager discovers only computers that have logged onto a domain within a specified number of days.
  • [UInt32] TimeSinceLastLogonDays (Write): Specify the number of days for EnableFilteringExpiredLogon.
    • Values Range: 14 - 720
  • [Boolean] EnableFilteringExpiredPassword (Write): Indicates whether Configuration Manager discovers only computers that have updated their computer account password within a specified number of days.
  • [UInt32] TimeSinceLastPasswordUpdateDays (Write): Specify the number of days for EnableFilteringExpiredPassword.
    • Values Range: 30 - 720
  • [EmbeddedInstance] GroupDiscoveryScope[] (Write): Specifies an array of Group Discovery Scopes to match to the discovery.
  • [EmbeddedInstance] GroupDiscoveryScopeToInclude[] (Write): Specifies an array of Group Discovery Scopes to add to the discovery.
  • [String] GroupDiscoveryScopeToExclude[] (Write): Specifies an array of names of Group Discovery Scopes to exclude to the discovery.
  • [Boolean] DiscoverDistributionGroupMembership (Write): Specify if group discovery will discover distribution groups and the members of the group.
  • [String] Start (Write): Specifies the start date and start time for the collection refresh schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the collection refresh schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours | Minutes | None }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules. Note specifying 0 sets the schedule to run the last day of the month.
    • Values Range: 0 - 31

CMGroupDiscovery Examples

CMSoftwareUpdatePointComponent

  • [String] SiteCode (Key): Specifies a site code for the Configuration Manager site that manages the system role for the software update point component.
  • [String] LanguageSummaryDetails[] (Write): Specifies an array of languages desired for the languages supported for software updates summary details at the specified site.
  • [String] LanguageSummaryDetailsToInclude[] (Write): Specifies an array of languages to include in the languages supported for software updates summary details at the specified site.
  • [String] LanguageSummaryDetailsToExclude[] (Write): Specifies an array of languages to exclude from the languages supported for software updates summary details at the specified site.
  • [String] LanguageUpdateFiles[] (Write): Specifies an array of languages desired for the languages supported for software updates at the specified site.
  • [String] LanguageUpdateFilesToInclude[] (Write): Specifies an array of languages to include in the languages supported for software updates at the specified site.
  • [String] LanguageUpdateFilesToExclude[] (Write): Specifies an array of languages to exclude from the languages supported for software updates at the specified site.
  • [String] Products[] (Write): Specifies an array of products desired for software updates to synchronize.
  • [String] ProductsToInclude[] (Write): Specifies an array of products to include in software updates to synchronize.
  • [String] ProductsToExclude[] (Write): Specifies an array of products to exclude from software updates to synchronize.
  • [String] UpdateClassifications[] (Write): Specifies an array of software update classifications desired for the classifications supported for software updates at this site.
  • [String] UpdateClassificationsToInclude[] (Write): Specifies an array of software update classifications to include in the classifications supported for software updates at this site.
  • [String] UpdateClassificationsToExclude[] (Write): Specifies an array of software update classifications to exclude from the classifications supported for software updates at this site.
  • [String] ContentFileOption (Write): Specifies whether express updates will be downloaded for Windows 10.
    • Values include: { FullFilesOnly | ExpressForWindows10Only }
  • [String] DefaultWsusServer (Write): Specifies the default WSUS server that the software update point is pointed to.
  • [Boolean] EnableCallWsusCleanupWizard (Write): Specifies whether to decline expired updates in WSUS according to superscedence rules.
  • [Boolean] EnableSyncFailureAlert (Write): Specifies whether Configuration Manager creates an alert when synchronization fails on a site.
  • [Boolean] EnableSynchronization (Write): Indicates whether this site automatically synchronizes updates according to a schedule.
  • [Boolean] ImmediatelyExpireSupersedence (Write): Indicates whether a software update expires immediately after another update supersedes it or after a specified period of time.
  • [Boolean] ImmediatelyExpireSupersedenceForFeature (Write): Indicates whether a feature update expires immediately after another update supersedes it or after a specified period of time.
  • [String] ReportingEvent (Write): Specifies whether to create event messages for WSUS reporting for status reporting events or for all reporting events.
    • Values include: { CreateAllWsusReportingEvents | CreateOnlyWsusStatusReportingEvents | DoNotCreateWsusReportingEvents}
  • [String] SynchronizeAction (Write): Specifies a source for synchronization for this software update point.
    • Values include: { SynchronizeFromMicrosoftUpdate | SynchronizeFromAnUpstreamDataSourceLocation | DoNotSynchronizeFromMicrosoftUpdateOrUpstreamDataSource}
  • [String] UpstreamSourceLocation (Write): Specifies an upstream data location as a URL.
  • [UInt32] WaitMonth (Write): Specifies how long, in months, to wait before a software update expires after another update supersedes it.
    • Values Range: 1 - 99
  • [UInt32] WaitMonthForFeature (Write): Specifies how long, in months, to wait before a feature update expires after another update supersedes it.
    • Values Range: 1 - 99
  • [String] Start (Write): Specifies the start date and start time for the synchronization schedule.
  • [String] ScheduleType (Write): Specifies the schedule type for the synchronization schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
    • Values Range: 1 - 31
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules.
    • Values Range: 0 - 31
  • [Boolean] EnableManualCertManagement (Write): Specifies whether manual management of the WSUS signing certificate is enabled.
  • [Boolean] EnableThirdPartyUpdates (Write): Specifies whether third-party updates are enabled on the Software Update Point Component.
  • [UInt32] FeatureUpdateMaxRuntimeMins (Write): Specifies the maximum runtime, in minutes, for windows feature updates.
    • Values Range: 5 - 9999
  • [UInt32] NonFeatureUpdateMaxRuntimeMins (Write): Specifies the maximum runtime, in minutes, for Office 365 updates and windows non-feature updates.
    • Values Range: 5 - 9999

CMSoftwareUpdatePointComponent Examples

CMClientSettings

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [String] Type (Required): Specifies the type of client policy.
    • Values include: { Device | User }
  • [String] Description (Write): Specifies the description of the client policy.
  • [String] SecurityScopes[] (Write): Specifies an array of Security Scopes to match.
  • [String] SecurityScopesToInclude[] (Write): Specifies an array of Security Scopes to include.
  • [String] SecurityScopesToExclude[] (Write): Specifies an array of Security Scopes to exclude.
  • [String] Ensure (Write): Specifies if the client policy is present or absent.
    • Values include: { Present | Absent }

CMClientSettings Examples

CMClientSettingsBits

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] EnableBitsMaxBandwidth (Required): Specifies if limit the maximum network bandwidth for BITS background transfers is enabled or disabled.
  • [Uint32] MaxBandwidthBeginHr (Write): Specifies the throttling window start time, use 0 for 12 a.m. and 23 for 11 p.m..
    • Values Range: 0 - 23
  • [Uint32] MaxBandwidthEndHr (Write): Specifies the throttling window end time, use 0 for 12 a.m. and 23 for 11 p.m..
    • Values Range: 0 - 23
  • [UInt32] MaxTransferRateOnSchedule (Write): Specifies the maximum transfer rate during throttling window in Kbps.
    • Values Range: 1 - 9999
  • [Boolean] EnableDownloadOffSchedule (Write): Specifies if BITS downloads are allowed outside the throttling window.
  • [UInt32] MaxTransferRateOffSchedule (Write): Specifies the maximum transfer rate outside the throttling window in Kbps.
    • Values Range: 1- 999999
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsBits Examples

CMClientSettingsClientCache

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] ConfigureBranchCache (Write): Specifies if configure branch cache policy is enabled or disabled.
  • [Boolean] EnableBranchCache (Write): Specifies if branch cache is enabled or disabled.
  • [UInt32] MaxBranchCacheSizePercent (Write): Specifies the percentage of disk size maximum branch cache size.
  • [Boolean] ConfigureCacheSize (Write): Specifies if client cache size is enabled or disabled.
  • [UInt32] MaxCacheSize (Write): Specifies the maximum cache size by MB.
  • [UInt32] MaxCacheSizePercent (Write): Specifies the maximum cache size percentage.
  • [Boolean] EnableSuperPeer (Write): Specifies is peer cache source is enabled or disabled.
  • [UInt32] BroadcastPort (Write): Specifies the port for initial network broadcast.
  • [UInt32] DownloadPort (Write): Specifies the port for content download from peers.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsClientCache Examples

CMClientSettingsClientPolicy

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [UInt32] PolicyPollingMins (Write): Specifies client policy interval in minutes.
  • [Boolean] EnableUserPolicy (Write): Specifies if user policy on clients is enabled or disabled.
  • [Boolean] EnableUserPolicyOnInternet (Write): Specifies if user policy request from internet clients is enabled or disabled.
  • [Boolean] EnableUserPolicyOnTS (Write): Specifies the maximum cache size by MB.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsClientPolicy Examples

CMClientSettingsCloudService

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] AllowCloudDistributionPoint (Write): Specifies if allow access to cloud distribution point is enabled or disabled.
  • [Boolean] AutoAzureADJoin (Write): Specifies whether to automatically register new Windows 10 domain joined devices with Azure Active Directory.
  • [Boolean] AllowCloudManagementGateway (Write): Specifies if allow access to cloud management gateway is enabled or disabled.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsCloudService Examples

CMClientSettingsCompliance

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] Enable (Required): Specifies if compliance evaluation on clients is enabled or disabled.
  • [Boolean] EnableUserDataAndProfile (Write): Specifies if user data and profiles are enabled or disabled.
  • [String] Start (Write): Specifies the start date and start time for the compliance evaluation schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the compliance evaluation schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules.
    • Values Range: 0 - 31
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsCompliance Examples

CMClientSettingsComputerAgent

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [UInt32] InitialReminderHr (Write): Specifies reminder, in hours, for deployment deadlines greater than 24 hours.
    • Values Range: 1 - 999
  • [UInt32] InterimReminderHr (Write): Specifies reminder, in hours, for deployment deadlines less than 24 hours.
    • Values Range: 1 - 24
  • [UInt32] FinalReminderMins (Write): Specifies reminder, in minutes, for deployment deadlines less than 1 hours.
    • Values Range: 5 - 25
  • [String] BrandingTitle (Write): Specifies the organizational name displayed in software center.
  • [Boolean] UseNewSoftwareCenter (Write): Specifies if the new software center is enabled or disabled.
  • [Boolean] EnableHealthAttestation (Write): Specifies if communication with the Health Attestation service is enabled or disabled.
  • [Boolean] UseOnPremisesHealthAttestation (Write): Specifies if the on-premises health service is enabled or disabled.
  • [String] InstallRestriction (Write): Specifies the install permissions.
    • Values include: { AllUsers | OnlyAdministrators | OnlyAdministratorsAndPrimaryUsers | NoUsers }
  • [String] SuspendBitLocker (Write): Specifies the suspend BitLocker PIN entry on restart.
    • Values include: { Never | Always }
  • [String] EnableThirdPartyOrchestration (Write): Specifies if additional software manages the deployment of applications and updates.
    • Values include: { No | Yes }
  • [String] PowerShellExecutionPolicy (Write): Specifies powershell execution policy settings.
    • Values include: { AllSigned | Bypass | Restricted }
  • [Boolean] DisplayNewProgramNotification (Write): Specifies if notifications are shown for new deployments.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsComputerAgent Examples

CMClientSettingsComputerRestart

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [UInt32] CountdownMins (Write): Specifies countdown, in minutes, for restart to take place..
    • Values Range: 1 - 1440
  • [UInt32] FinalWindowMins (Write): Specifies the time window a restart has to take place in.
    • Values Range: 1 - 1440
  • [Boolean] ReplaceToastNotificationWithDialog (Write): Specifies if toast notifications are replaced with dialog windows.
  • [Boolean] NoRebootEnforcement (Write): Specifies if reboots are not enforced.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsComputerRestart Examples

CMClientSettingsDelivery

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] Enable (Write): Specifies if use Configuration Manager Boundary Groups for Delivery Optimization Group ID is enabled or disabled.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsDelivery Examples

CMClientSettingsHardware

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] Enable (Required): Specifies if hardware inventory for clients is enabled or disabled.
  • [UInt32] MaxRandomDelayMins (Write): Specifies the maximum random delay in minutes.
  • [String] Start (Write): Specifies the start date and start time for the hardware inventory schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the hardware inventory schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules.
    • Values Range: 0 - 31
  • [String] CollectMifFile (Write):Specifies the collected MIF files.
    • Values include: { None | CollectNoIdMifFile | CollectIdMifFile | CollectIdMifAndNoIdMifFile }
  • [UInt32] MaxThirdPartyMifSize (Write): Specifies the maximum custom MIF file size in KB.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsHardware Examples

CMClientSettingsMetered

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [String] MeteredNetworkUsage (Write): Specifies setting for client communication on a metered internet connection.
    • Values include: { Allow | Limit | Block }
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsMetered Examples

CMClientSettingsPower

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] Enable (Write): Specifies if power management plan is to be used.
  • [Boolean] AllowUserToOptOutFromPowerPlan (Write): Specifies if users are allowed to out out from the power plan.
  • [String] NetworkWakeUpOption (Write): Specifies if network wake up is not configured, enabled or disabled.
    • Values include: { NotConfigured | Enabled | Disabled }
  • [Boolean] EnableWakeUpProxy (Write): Specifies if the wake up proxy will be enabled or disabled.
  • [UInt32] WakeupProxyPort (Write): Specifies the wake up proxy port.
  • [UInt32] WakeOnLanPort (Write): Specifies the wake on lan port.
  • [String] FirewallExceptionForWakeupProxy[] (Write): Specifies the which firewall states will be configured for wakeup proxy.
    • Values include: { None | Domain | Private | Public }
  • [String] WakeupProxyDirectAccessPrefix[] (Write): Specifies the IPV6 direct access prefix for the wake up proxy.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsPower Examples

CMClientSettingsRemoteTools

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [String] FirewallExceptionProfile[] (Write): Specifies if the firewall exceptions profiles for Remote Tools.
    • Values include: { Domain | Private | Public }
  • [Boolean] AllowClientChange (Write): Specifies if users can change policy or notifications settings in software center.
  • [Boolean] AllowUnattendedComputer (Write): Specifies if allow remote control of an unattended computer is enabled or disabled.
  • [Boolean] PromptUserForPermission (Write): Specifies if users are prompted for remote control permissions.
  • [Boolean] PromptUserForClipboardPermission (Write): Specifies if users are prompted for permission to transfer content from share clipboard.
  • [Boolean] GrantPermissionToLocalAdministrator (Write): Specifies if remote control permissions are granted to the local administrators group.
  • [String] AccessLevel (Write): Specifies the access level allowed.
    • Values include: { NoAccess | ViewOnly | FullControl }
  • [String] PermittedViewer[] (Write): Specifies the permitted viewers for remote control and remote assistance.
  • [Boolean] ShowNotificationIconOnTaskbar (Write): Specifies if session notifications are shown on the taskbar.
  • [Boolean] ShowSessionConnectionBar (Write): Specifies if the session connection bar is shown.
  • [String] AudibleSignal (Write): Specifies if sound is played on the client.
    • Values include: { PlayNoSound | PlaySoundAtBeginAndEnd | PlaySoundRepeatedly }
  • [Boolean] ManageUnsolicitedRemoteAssistance (Write): Specifies if unsolicited remote assistance settings are managed.
  • [Boolean] ManageSolicitedRemoteAssistance (Write): Specifies if solicited remote assistance settings are managed.
  • [String] RemoteAssistanceAccessLevel (Write): Specifies the level of access for remote assistance.
    • Values include: { None | RemoteViewing | FullControl }
  • [Boolean] ManageRemoteDesktopSetting (Write): Specifies if remote desktop settings are managed.
  • [Boolean] AllowPermittedViewer (Write): Specifies if permitted viewers are allowed to connect by using remote desktop connection.
  • [Boolean] RequireAuthentication (Write): Specifies network level required authentication on computers that run Vista or later versions.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.
  • [String] RemoteToolsStatus (Read): Specifies if the Remote Tools settings is enabled or disabled.

CMClientSettingsRemoteTools Examples

CMClientSettingsSoftwareCenter

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] EnableCustomize (Required): Specifies if custom software center is to be used.
  • [String] CompanyName (Write): Specifies the company name to be used in software center.
  • [String] ColorScheme (Write): Specifies in hex format the color to be used in software center.
  • [Boolean] HideApplicationCatalogLink (Write): Specifies if application catalog link is hidden.
  • [Boolean] HideInstalledApplication (Write): Specifies if installed applications are hidden.
  • [Boolean] HideUnapprovedApplication (Write): Specifies if unapproved applications are hidden.
  • [Boolean] EnableApplicationsTab (Write): Specifies if application tab is visible.
  • [Boolean] EnableUpdatesTab (Write): Specifies if updates tab is visible.
  • [Boolean] EnableOperatingSystemsTab (Write): Specifies if operating system tab is visible.
  • [Boolean] EnableStatusTab (Write): Specifies if status tab is visible.
  • [Boolean] EnableComplianceTab (Write): Specifies if compliance tab is visible.
  • [Boolean] EnableOptionsTab (Write): Specifies if options tab is visible.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.
  • [String] PortalType (Read): Specifies the portal type selected.

CMClientSettingsSoftwareCenter Examples

CMClientSettingsSoftwareDeployment

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [String] Start (Write):Specifies the start date and start time for the software deployment schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the software deployment schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules.
    • Values Range: 0 - 31
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsSoftwareDeployment Examples

CMClientSettingsSoftwareInventory

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] Enable (Required): Specifies if software inventory on clients is enabled or disabled.
  • [String] ReportOption (Key): Specify reporting inventory details level.
    • Values include: { ProductOnly | FileOnly | FullDetail }
  • [String] Start (Write):Specifies the start date and start time for the software inventory schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the software inventory schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules.
    • Values Range: 0 - 31
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsSoftwareInventory Examples

CMClientSettingsSoftwareMetering

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] Enable (Required): Specifies if software metering on clients is enabled or disabled.
  • [String] Start (Write):Specifies the start date and start time for the software metering schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScheduleType (Write): Specifies the schedule type for the software metering schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] RecurInterval (Write): Specifies how often the ScheduleType is run.
  • [String] MonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] DayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] DayOfMonth (Write): Specifies the day number for MonthlyByDay schedules.
    • Values Range: 0 - 31
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsSoftwareMetering Examples

CMClientSettingsSoftwareUpdate

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [Boolean] Enable (Required): Specifies if software updates on clients is enabled or disabled.
  • [String] ScanStart (Write):Specifies the start date and start time for the software update scan schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] ScanScheduleType (Write): Specifies the schedule type for the software updates scan schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] ScanRecurInterval (Write): Specifies how often the scan ScheduleType is run.
  • [String] ScanMonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek scan schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] ScanDayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly scan schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] ScanDayOfMonth (Write): Specifies the day number for MonthlyByDay scan schedules.
    • Values Range: 0 - 31
  • [String] EvalStart (Write):Specifies the start date and start time for the software update eval schedule Month/Day/Year, example 1/1/2020 02:00.
  • [String] EvalScheduleType (Write): Specifies the schedule type for the software updates eval schedule.
    • Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours }
  • [UInt32] EvalRecurInterval (Write): Specifies how often the eval ScheduleType is run.
  • [String] EvalMonthlyWeekOrder (Write): Specifies week order for MonthlyByWeek eval schedule type.
    • Values include: { First | Second | Third | Fourth | Last }
  • [String] EvalDayOfWeek (Write): Specifies the day of week name for MonthlyByWeek and Weekly eval schedules.
    • Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday }
  • [UInt32] EvalDayOfMonth (Write): Specifies the day number for MonthlyByDay eval schedules.
    • Values Range: 0 - 31
  • [Boolean] EnforceMandatory (Write): Specifies if any software update deployment deadline is reached to install all deployments with dealing coming within a specific time period.
  • [String] TimeUnit (Write): Specifies the unit of time, hours or days time frame to install pending software updates.
    • Values include: { Hours | Days }
  • [UInt32] BatchingTimeOut (Write): Specifies the time within TimeUnit to install the depending updates.
  • [Boolean] EnableDeltaDownload (Write): Specifies if clients are allowed to download delta content when available.
  • [UInt32] DeltaDownloadPort (Write): Specifies the port that clients will use to receive requests for delta content.
  • [Boolean] Office365ManagementType (Write): Specifies the management of the Office 365 client.
    • Values include: { NotConfigured | Yes | No }
  • [Boolean] EnableThirdPartyUpdates (Write): Specifies if third party updates is enabled or disabled.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsSoftwareUpdate Examples

CMClientSettingsStateMessaging

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [UInt32] ReportingCycleMins (Write): Specifies the state message reporting cycle in minutes.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsStateMessaging Examples

CMClientSettingsUserDeviceAffinity

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] ClientSettingName (Key): Specifies which client settings policy to modify.
  • [UInt32] LogOnThresholdMins (Write): Specifies if user device affinity usage threshold in minutes.
  • [UInt32] UsageThresholdDays (Write): Specifies if user device affinity usage threshold in days.
  • [Boolean] AutoApproveAffinity (Write): Specifies allowing automatic configure user device affinity from usage data.
  • [Boolean] AllowUserAffinity (Write): Specifies allowing users to define their primary device.
  • [String] ClientSettingStatus (Read): Specifies if the client settings policy exists.
  • [String] ClientType (Read): Specifies the type of client policy setting.

CMClientSettingsUserDeviceAffinity Examples

CMSiteConfiguration

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] Comment (Write): Specifies the site comments.
  • [String] ClientComputerCommunicationType (Write): Specifies the communication method for the site systems that use IIS. To use HTTPS, the servers need a valid PKI web server certificate for server authentication. This parameter is only valid on a Primary Site.
    • Values include: { HttpsOnly | HttpsOrHttp }
  • [Boolean] ClientCheckCertificateRevocationListForSiteSystem (Write): Indicates whether clients check the Certificate Revocation List (CRL) for site systems. This parameter is only valid on a Primary Site.
  • [Boolean] UsePkiClientCertificate (Write): Indicates whether to use a PKI client certificate for client authentication when available. This parameter is only valid on a Primary Site.
  • [Boolean] UseSmsGeneratedCert (Write): Use this parameter to enable or disable the site property to Use Configuration Manager-generated certificates for HTTP site systems. This parameter is only valid on a Primary Site.
  • [Boolean] RequireSigning (Write): This option requires that clients sign data when they send to management points. This parameter is only valid on a Primary Site.
  • [Boolean] RequireSha256 (Write): Specifies if the clients sign data and communicate with site systems by using HTTP, this option requires the clients to use SHA-256 to sign the data. This option applies to clients that don't use PKI certificates. This parameter is only valid on a Primary Site.
  • [Boolean] UseEncryption (Write): Specifies to use 3DES to encrypt the client inventory data and state messages that are sent to the management point. This parameter is only valid on a Primary Site.
  • [UInt32] MaximumConcurrentSendingForAllSite (Write): Specifies the maximum number of simultaneous communications to all sites.
  • [UInt32] MaximumConcurrentSendingForPerSite (Write): Specifies the maximum number of simultaneous communications to any single site.
  • [UInt32] RetryNumberForConcurrentSending (Write): Specifies the number of times to retry a failed communication.
  • [UInt32] ConcurrentSendingDelayBeforeRetryingMins (Write): Specifies the number of minutes to delay before it retries.
  • [Boolean] EnableLowFreeSpaceAlert (Write): Specifies if an alert is created when the free disk space on the site database server is low. This parameter is only valid on a Primary Site.
  • [UInt32] FreeSpaceThresholdWarningGB (Write): Specifies disk space warning alert when the free disk space on the site database server falls below the specified threshold. This parameter is only valid on a Primary Site.
  • [UInt32] FreeSpaceThresholdCriticalGB (Write): Specifies disk space critical alert when the free disk space on the site database server falls below the specified threshold. This parameter is only valid on a Primary Site.
  • [UInt32] ThresholdOfSelectCollectionByDefault (Write): Specifies select collection window hides collections with membership that exceeds this value.
  • [UInt32] ThresholdOfSelectCollectionMax (Write): Specifies select collection window always hides collections that have more members than this maximum value.
  • [String] SiteSystemCollectionBehavior (Write): Specifies the behavior to take when the selected collection includes computers that host site systems roles.
    • Values include: { Warn | Block }
  • [Boolean] EnableWakeOnLan (Write): Indicates whether to send Wake On LAN packets for scheduled activities such as deployments of software updates. This parameter is only valid on a Primary Site.
  • [String] WakeOnLanTransmissionMethodType (Write): Specifies the type of transmission method to use for Wake On LAN transmissions. This parameter is only valid on a Primary Site.
    • Values include: { Unicast | SubnetDirectedBroadcasts }
  • [UInt32] RetryNumberOfSendingWakeupPacketTransmission (Write): Specifies the number of times a wake up packet is sent to a target computer. This parameter is only valid on a Primary Site.
  • [UInt32] SendingWakeupPacketTransmissionDelayMins (Write): Specifies the number of minutes to delay between wake up retries. This parameter is only valid on a Primary Site.
  • [UInt32] MaximumNumberOfSendingWakeupPacketBeforePausing (Write): Specifies the maximum number of wake up packets transmitted by this site server before pausing. This parameter is only valid on a Primary Site.
  • [UInt32] SendingWakeupPacketBeforePausingWaitSec (Write): Specifies the number of seconds to wait between sending wake up packets to a target computer. This parameter is only valid on a Primary Site.
  • [UInt32] ThreadNumberOfSendingWakeupPacket (Write): Specifies the number of threads to use when sending wake up packets. This parameter is only valid on a Primary Site.
  • [UInt32] SendingWakeupPacketTransmissionOffsetMins (Write): Specifies when wake up packets should be sent prior to a scheduled activity. This parameter is only valid on a Primary Site.
  • [String] ClientCertificateCustomStoreName (Write): Specifies the store name where the client certificate is located in the Computer store when you don't use the default store of Personal. This parameter is only valid on a Primary Site.
  • [String] TakeActionForMultipleCertificateMatchCriteria (Write): Specifies the action to take if multiple certificates match criteria. This parameter is only valid on a Primary Site.
    • Values include: { FailSelectionAndSendErrorMessage | SelectCertificateWithLongestValidityPeriod }
  • [String] ClientCertificateSelectionCriteriaType (Write): Specifies the criteria type to match in a client certificate when more than one certificate is available. This parameter is only valid on a Primary Site.
    • Values include: { ClientAuthentication | CertificateSubjectContainsString | CertificateSubjectOrSanIncludesAttributes }
  • [String] ClientCertificateSelectionCriteriaValue (Write): Specifies a value for the ClientCertificateSelectionCriteriaType parameter. This parameter is only valid on a Primary Site.

CMSiteConfiguration Examples

CMHierarchySetting

  • [string] SiteCode (Key): Specifies the SiteCode for the Configuration Manager site.
  • [boolean] AllowPrestage (Write): Indicates that prestaging should be allowed.
  • [string] ApprovalMethod (Write): Approval method to use.
    • Values include: {ManuallyApproveEachComputer | AutomaticallyApproveComputersInTrustedDomains | AutomaticallyApproveAllComputers}
  • [boolean] AutoResolveClientConflict (Write): Indicates that client conflicts should automatically be resolved.
  • [boolean] EnableAutoClientUpgrade (Write): Indicates that automatic client upgrades should be enabled.
  • [boolean] EnableExclusionCollection (Write): Indicates that an exclusion collection should be enabled. Requires use of ExclusionCollectionName parameter.
  • [boolean] EnablePreProduction (Write): Indicates that a preproduction collection should be enabled. Requires use of TargetCollectionName parameter.
  • [boolean] EnablePrereleaseFeature (Write): Indicates that pre-release features should be enabled. This is an operation that cannot be reverted.
  • [boolean] ExcludeServer (Write): Indicates that servers are excluded from auto upgrade. Skipped if EnableAutoClientUpgrade is not used.
  • [boolean] PreferBoundaryGroupManagementPoint (Write): Indicates that the boundary group management point should be preferred.
  • [boolean] UseFallbackSite (Write): Indicates that fallback site should be used. Requires use of FallbackSiteCode parameter.
  • [type] AutoUpgradeDays (Write): Days for Auto Upgrade advertisement.
  • [string] ExclusionCollectionName (Write): Exclusion collection name. Requires use of EnableExclusionCollection parameter.
  • [string] FallbackSiteCode (Write): Site code of fallback site. Requires use of UseFallbackSite parameter.
  • [string] TargetCollectionName (Write): Target preproduction collection name. Requires use of EnablePreProduction parameter.
  • [string] TelemetryLevel (Write): Level of telemetry to send.
    • Values include: { Basic | Enhanced | Full }

CMHierarchySetting Examples

ReverseDsc

Most organizations using this module already have an existing Configuration Manager environment. Creating a configuration and a PowerShell data file that contains all of the configurations of an environment, to either stand-up a lab environment or document a production environment, can be a time consuming task to undertake. ReverseDsc with-in the ConfigMgrCBDsc module will assist in documenting the current production or development environment and allow you to take that configuration and allow you to monitor your current settings or rebuild another environment with the core functionality quickly using the same settings that are currently set within the Configuration Manager environment.

Typically, with ReverseDsc you will get a configuration that has all of the data hard coded within the configuration. With this module, it will generate a data file and if desired a Configuration that will reference the data file to generate a mof file. This allows you to only have to modify the data file for each of your environments, production or Lab, and use the same configuration file for each environment.

Note

**No passwords are gathered by ReverseDsc. Items such as CMAccounts will only list the account and when the configuration is ran a prompt will be provided to provide the password for the account.

With the default configuration created, it does NOT use certificates and all passwords specified will be in plain text in the mof file when it is compiled. If desired, once the configuration is created you can add the necessary pieces to encrypt the passwords in the mof file.**

If looking to stand-up a brand new environment, an example of installing pre-reqs, SQL, and installing Configuration Manager can be found in examples: PrimaryInstall.ps1. Using the information in the example can assist with setting up a brand new environment and using the output from ReverseDsc to quickly stand up a new test environment.

Supported DSC Resources

Currently not all modules will gathered by ReverseDSC. Below will list all of the modules and specify if it is currently supported by ReverseDSC.

  • DSC_CMAccounts: Fully Supported
  • DSC_CMAdministrativeUser: Fully Supported
  • DSC_CMAssetIntelligencePoint: Fully Supported
  • DSC_CMBoundaries: Not Supported
  • DSC_CMBoundaryGroups: Limited Support, will only create the boundary group and will not populate or gather the boundaries within the group.
  • DSC_CMClientPushSettings: Fully Supported
  • DSC_CMClientStatusSettings: Fully Supported
  • DSC_CMClientSettings : Fully Supported
  • DSC_CMClientSettingsBits : Fully Supported
  • DSC_CMClientSettingsClientCache : Fully Supported
  • DSC_CMClientSettingsClientPolicy : Fully Supported
  • DSC_CMClientSettingsCloudService : Fully Supported
  • DSC_CMClientSettingsCompliance : Fully Supported
  • DSC_CMClientSettingsComputerAgent : Fully Supported
  • DSC_CMClientSettingsComputerRestart : Fully Supported
  • DSC_CMClientSettingsDelivery : Fully Supported
  • DSC_CMClientSettingsHardware : Fully Supported
  • DSC_CMClientSettingsMetered : Fully Supported
  • DSC_CMClientSettingsPower : Fully Supported
  • DSC_CMClientSettingsRemoteTools : Fully Supported
  • DSC_CMClientSettingsSoftwareCenter : Fully Supported
  • DSC_CMClientSettingsSoftwareDeployment : Fully Supported
  • DSC_CMClientSettingsSoftwareInventory : Fully Supported
  • DSC_CMClientSettingsSoftwareMetering : Fully Supported
  • DSC_CMClientSettingsSoftwareUpdate : Fully Supported
  • DSC_CMClientSettingsStateMessaging : Fully Supported
  • DSC_CMClientSettingsUserDeviceAffinity : Fully Supported
  • DSC_CMCollectionMembershipEvaluationComponent: Fully Supported
  • DSC_CMCollections: Fully Supported
  • DSC_CMDistributionGroup: Fully Supported
  • DSC_CMDistributionPoint: Fully Supported
  • DSC_CMDistributionPointGroupMembers: Fully Supported
  • DSC_CMEmailNotificationComponent: Fully Supported
  • DSC_CMFallbackStatusPoint: Fully Supported
  • DSC_CMFileReplication: Not Supported
  • DSC_CMForestDiscovery: Fully Supported
  • DSC_CMGroupDiscovery: Fully Supported
  • DSC_CMHeartbeatDiscovery: Fully Supported
  • DSC_CMHierarchySetting: Fully Supported
  • DSC_CMIniFile: Not Supported
  • DSC_CMMaintenanceWindows: Fully Supported
  • DSC_CMManagementPoint: Fully Supported
  • DSC_CMNetworkDiscovery: Fully Supported
  • DSC_CMPullDistributionPoint: Fully Supported
  • DSC_CMPxeDistributionPoint: Fully Supported
  • DSC_CMReportingServicePoint: Fully Supported
  • DSC_CMSecurityRoles: Not Supported
  • DSC_CMSecurityScopes: Fully Supported
  • DSC_CMServiceConnectionPoint: Fully Supported
  • DSC_CMSiteConfiguration: Fully Supported
  • DSC_CMSiteMaintenance: Fully Supported
  • DSC_CMSiteSystemServer: Fully Supported
  • DSC_CMSoftwareDistributionComponent: Fully Supported
  • DSC_CMSoftwareUpdatePoint: Fully Supported
  • DSC_CMSoftwareUpdatePointComponent: Fully Supported
  • DSC_CMStatusReportingComponent: Fully Supported
  • DSC_CMSystemDiscovery: Fully Supported
  • DSC_CMUserDiscovery: Fully Supported
  • xSccmInstall: Not Supported
  • xSccmPreReqs: Not Supported
  • xSccmSqlSetup: Not Supported

Importing the ReverseDsc module

The ConfigMgrCBDsc module will have to be installed to run ReverseDSC. ReverseDSC uses the helper function and each module to gather the information about the environment. After installing the module, next the ReverseDsc module will need to be imported, replace <version> with the version number of currently installed module:

Import-Module -Name 'C:\Program Files\WindowsPowerShell\Modules\ConfigMgrCBDsc\<version>\Modules\ConfigMgrCBDsc.ReverseDsc\ConfigMgrCBDsc.ReverseDsc.psd1'

After importing the module, Set-ConfigMgrCBDscReverse will be available.

Set-ConfigMgrCBDscReverse

  • [String] SiteCode (Key): Specifies the Site Code for the Configuration Manager site.
  • [String] Include (Write): Specifies which resources will be invoked, default setting: All.
    • Values include: { All|Accounts|AdministrativeUser|AssetIntelligencePoint|BoundaryGroups| ClientPush|ClientStatusSettings|CollectionEvaluationComponent|Collections| DistributionGroups|DistributionPoint|DistributionPointGroupMembers|EmailNotificationComponent| FallbackPoints|ForestDiscovery|HeartbeatDiscovery|MaintenanceWindow|ManagementPoint| NetworkDiscovery|PullDistributionPoint|PxeDistributionPoint|GroupDiscovery| ReportingServicesPoint|SecurityScopes|ServiceConnection|SiteConfiguration|SiteMaintenance| SiteSystemServer|SoftwareDistributionComponent|SoftwareUpdatePoint|SoftwareupdatePointComponent| StatusReportingComponent|SystemDiscovery|UserDiscovery|ConfigFileOnly|ClientSettings| ClientSettingsBits|ClientSettingsClientCache|ClientSettingsClientPolicy|ClientSettingsCloudService| ClientSettingsCompliance|ClientSettingsComputerAgent|ClientSettingsDelivery|ClientSettingsHardware| ClientSettingsMetered|ClientSettingsPower|ClientSettingsRemoteTools|ClientSettingsSoftwareCenter| ClientSettingsSoftwareDeployment|ClientSettingsSoftwareInventory|ClientSettingsSoftwareMetering| ClientSettingsSoftwareUpdate|ClientSettingsStateMessaging| ClientSettingsUserDeviceAffinity|SiteConfiguration }
  • [String] Exclude (Write): Specifies which resources will be excluded from being evaluated. Only evaluated when Include = 'All'
    • Values include: { Accounts|AdministrativeUser|AssetIntelligencePoint|BoundaryGroups| ClientPush|ClientStatusSettings|CollectionEvaluationComponent|Collections| DistributionGroups|DistributionPoint|DistributionPointGroupMembers|EmailNotificationComponent| FallbackPoints|ForestDiscovery|HeartbeatDiscovery|MaintenanceWindow|ManagementPoint| NetworkDiscovery|PullDistributionPoint|PxeDistributionPoint|GroupDiscovery| ReportingServicesPoint|SecurityScopes|ServiceConnection|SiteConfiguration|SiteMaintenance| SiteSystemServer|SoftwareDistributionComponent|SoftwareUpdatePoint|SoftwareupdatePointComponent| StatusReportingComponent|SystemDiscovery|UserDiscovery|ClientSettings| ClientSettingsBits|ClientSettingsClientCache|ClientSettingsClientPolicy|ClientSettingsCloudService| ClientSettingsCompliance|ClientSettingsComputerAgent|ClientSettingsDelivery|ClientSettingsHardware| ClientSettingsMetered|ClientSettingsPower|ClientSettingsRemoteTools|ClientSettingsSoftwareCenter| ClientSettingsSoftwareDeployment|ClientSettingsSoftwareInventory|ClientSettingsSoftwareMetering| ClientSettingsSoftwareUpdate|ClientSettingsStateMessaging| ClientSettingsUserDeviceAffinity|SiteConfiguration }
  • [String] DataFile (Write): Specifies where the data file will be saved. Filename must end with .psd1. Not specifying DataFile the output will be displayed in the output screen only if Include does not equal ConfigFileOnly.
  • [String] ConfigOutputPath (Write): Specifies where the configuration file will be saved. Filename must end with .ps1.
  • [String] MofOutPutPath (Write): Specifies where the mof file will be saved when running the configuration.

Set-ConfigMgrCBDscReverse Examples

Running ReverseDsc with all options and creating a configuration file.

$params = @{
    SiteCode         = 'Lab'
    Include          = 'All'
    DataFile         = 'C:\temp\datafile.psd1'
    ConfigOutputPath = 'C:\temp\CMConfig.ps1'
    MofOutputPath    = 'C:\temp\Mof'
}
Set-ConfigMgrCBDscReverse @params

Running ReverseDsc using exclude and not creating a configuration file. This will still create a DataFile containing all of the information retrieved.

$params = @{
    SiteCode = 'Lab'
    Include  = 'All'
    Exclude  = 'SiteSystemServer'
    DataFile = 'C:\temp\datafile.psd1'
}
Set-ConfigMgrCBDscReverse @params

Running ReverseDsc and only creating a configuration file. DataFile and MofOutputPath are still required. The reason is when the configuration is created, it hard codes the path into the configuration file.

$params = @{
    SiteCode         = 'Lab'
    Include          = 'ConfigFileOnly'
    DataFile         = 'C:\temp\DataFile.psd1'
    ConfigOutputPath = 'C:\temp\CMConfig.ps1'
    MofOutputPath    = 'C:\temp\Mof'
}
Set-ConfigMgrCBDscReverse @params

After creating a DataFile and configuration file, to compile the mof one additional command will need to be ran. After running the command below, any item that requires a password, example CMAccounts, will prompt to enter a password for those accounts. If running against and environment already up and running, the passwords are not evaluated and set if the account already exists with a password.

C:\temp\CMConfig.ps1

About

This module contains DSC resources for the management and configuration of Microsoft System Center Configuration Manager Current Branch (ConfigMgrCB).

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published