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.
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\.
- 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.
- [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'.
- [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.
- [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.
- [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.
- [UInt32] MaximumThreadCountPerPackage (Write): Specifies a maximum thread
count per package for concurrent distribution.
- [UInt32] RetryCount (Write): Specifies the retry count for a package distribution.
- [UInt32] DelayBeforeRetryingMins (Write): Specifies the retry delay, in
minutes, for a failed package distribution.
- [UInt32] MulticastRetryCount (Write): Specifies the retry count for a multicast
distribution.
- [UInt32] MulticastDelayBeforeRetryingMins (Write): Specifies the retry delay,
in minutes, for a failed multicast distribution.
- [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.
- [UInt32] HourDuration (Write): Specifies the duration for the maintenance
window in hours, max value 23.
- [UInt32] MinuteDuration (Write): Specifies the duration for the maintenance
window in minutes, max value 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.
- [UInt32] DelayBetweenDataBlockSec (Write): Delay, in seconds, between sending
data blocks when PulseMode is used.
- [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.
- [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.
- [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.
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.
- [UInt32] WaitMonthForFeature (Write): Specifies how long, in months, to
wait before a feature update expires after another update supersedes it.
- [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.
- [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.
- [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.
- [UInt32] NonFeatureUpdateMaxRuntimeMins (Write): Specifies the maximum runtime,
in minutes, for Office 365 updates and windows non-feature updates.
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..
- [Uint32] MaxBandwidthEndHr (Write): Specifies the throttling window end
time, use 0 for 12 a.m. and 23 for 11 p.m..
- [UInt32] MaxTransferRateOnSchedule (Write): Specifies the maximum transfer
rate during throttling window in Kbps.
- [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.
- [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.
- [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.
- [UInt32] InterimReminderHr (Write): Specifies reminder, in hours, for deployment
deadlines less than 24 hours.
- [UInt32] FinalReminderMins (Write): Specifies reminder, in minutes, for
deployment deadlines less than 1 hours.
- [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..
- [UInt32] FinalWindowMins (Write): Specifies the time window a restart
has to take place in.
- [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.
- [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.
- [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.
- [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.
- [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.
- [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.
- [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