Configuration Manager cmdlet library changes for version 2010
Applies to: Configuration Manager (current branch)
These release notes summarize changes to the Configuration Manager cmdlet library in version 2010.
Starting in version 2010, the Configuration Manager PowerShell cmdlet library now offers support for PowerShell 7. For more information, see Support for PowerShell version 7.
Note
Configuration Manager current branch version 2002 is the baseline for these changes. For more information, see Configuration Manager cmdlet library changes for version 2006.
Cloud management gateway
With more customers managing remote devices now, this release includes several new and improved Windows PowerShell cmdlets for the cloud management gateway (CMG). You can use these cmdlets to automate the creation, configuration, and management of the CMG service and Azure Active Directory (Azure AD) requirements.
Note
While some of the new cmdlets might work with other Azure services, they're only tested with the Cloud management connection to support the CMG.
For example, an Azure administrator first creates the two required apps in Azure Active Directory (Azure AD). Then you write a script that uses the following cmdlets to deploy a CMG:
- Import-CMAADServerApplication: Create the Azure AD server app definition in Configuration Manager.
- Import-CMAADClientApplication: Create the Azure AD client app definition in Configuration Manager.
- Use Get-CMAADApplication to get the app objects, and then pass to New-CMCloudManagementAzureService to create the Azure service connection in Configuration Manager.
- New-CMCloudManagementGateway: Create the CMG service in Azure.
- Add-CMCloudManagementGatewayConnectionPoint: Create the CMG connection point site system.
New cmdlets for CMG
- Get-CMAADApplication: Get the Azure Active Directory (Azure AD) app object from the site.
- Get-CMAzureService: Get the Azure service.
- Import-CMAADClientApplication: Import the client app from Azure AD, and define it for the Configuration Manager site.
- Import-CMAADServerApplication: Import the web/server app from Azure AD, and define it for the Configuration Manager site.
- New-CMCloudManagementAzureService: Create the Azure service for Cloud Management in Configuration Manager.
- Remove-CMAzureService: Remove the Azure service.
- Set-CMCloudManagementAzureService: Modify the settings of the Azure service for Cloud Management in Configuration Manager.
Updated cmdlets for CMG
The following existing cmdlets have significant improvements. For more information, see the following release notes:
Existing cmdlets for CMG
You can continue to use the following existing CMG cmdlets:
- Add-CMCloudManagementGatewayConnectionPoint
- Get-CMCloudManagementGateway
- Get-CMCloudManagementGatewayConnectionPoint
- New-CMCloudManagementGateway
- Remove-CMCloudManagementGateway
- Remove-CMCloudManagementGatewayConnectionPoint
- Set-CMCloudManagementGateway
- Set-CMCloudManagementGatewayConnectionPoint
- Start-CMCloudManagementGateway
- Stop-CMCloudManagementGateway
New cmdlets
Application management
- Add-CMCIDetectionMethod: Specify how the client detects an application.
- Get-CMApplicationGroupDeployment: Get the deployment of an application group.
- New-CMApplicationGroupDeployment: Create a deployment for an application group.
- Remove-CMApplicationGroupDeployment: Remove the deployment of an application group.
- Set-CMApplicationGroupDeployment: Configure the deployment of an application group.
Collection management
- Get-CMCollectionDependency: Get the limiting collection for the target collection.
- Get-CMCollectionDependent: Get a collection's dependent relationships.
- Get-CMCollectionEvaluationStatus: Get the status of collection evaluation.
- Get-CMCollectionFullEvaluationStatus: Get the full evaluation status for a collection.
- Get-CMCollectionIncrementalEvaluationStatus: Get the incremental evaluation status for a collection.
- Get-CMCollectionInfoFromEvaluationQueue: Get collection information from the evaluation queue.
- Get-CMCollectionInfoFromFullEvaluationQueue: Get collection information from the full evaluation queue.
- Get-CMCollectionInfoFromIncrementalEvaluationQueue: Get collection information from the incremental evaluation queue.
- Get-CMCollectionInfoFromManualEvaluationQueue: Get collection information from the manual evaluation queue.
- Get-CMCollectionInfoFromNewEvaluationQueue: Get collection information from the new evaluation queue.
Windows 10 edition upgrade
- New-CMWindows10EditionUpgrade: Create a Windows 10 edition upgrade policy.
- Remove-CMWindows10EditionUpgrade: Remove a Windows 10 edition upgrade policy.
- Set-CMWindows10EditionUpgrade: Configure a Windows 10 edition upgrade policy.
Microsoft Edge browser profiles
- Get-CMMicrosoftEdgeBrowserProfiles: Get a policy for a Microsoft Edge Legacy browser profile.
- New-CMMicrosoftEdgeBrowserProfiles: Create a policy to manage Microsoft Edge Legacy browser settings.
- Set-CMMicrosoftEdgeBrowserProfiles: Configure a policy for a Microsoft Edge Legacy browser profile.
OneDrive for Business profiles
- Get-CMOneDriveBusinessProfile: Get a policy for a OneDrive for Business profile.
- New-CMOneDriveBusinessProfile: Create a OneDrive for Business profile policy.
- Set-CMOneDriveBusinessProfile: Configure a OneDrive for Business profile policy.
Deprecated and removed cmdlets
The following cmdlets for Configuration Manager hybrid environments are no longer available:
- Add-CMAndroidDeploymentType
- Add-CMGooglePlayDeploymentType
- Add-CMIosAppStoreDeploymentType
- Add-CMIosDeploymentType
- Set-CMAndroidDeploymentType
- Set-CMGooglePlayDeploymentType
- Set-CMIosAppStoreDeploymentType
- Set-CMIosDeploymentType
For more information, see What happened to hybrid MDM?
The following cmdlet is deprecated:
Known issues
None
Cmdlet changes
The following changes have been made to existing cmdlets in this version. Changes may be new functionality, bug fixes, or deprecation. Some changes may be breaking. If you use one of the cmdlets or feature areas listed in this section, carefully review the changes to understand how they may affect your use.
Add-CMComplianceSettingRegistryKeyValue
For more information, see Add-CMComplianceSettingRegistryKeyValue.
Non-breaking changes
Parameter ExpectedValue can accept an empty value.
Add-CMDistributionPoint
For more information, see Add-CMDistributionPoint.
Bugs that were fixed
Fixed an issue for distribution point creation.
Add-CMDeviceCollectionDirectMembershipRule
For more information, see Add-CMDeviceCollectionDirectMembershipRule.
Bugs that were fixed
Fixed an issue for duplicated device number check.
Add-CMManagementPoint
For more information, see Add-CMManagementPoint.
Bugs that were fixed
Fixed an issue for cloud management gateway support.
Add-CMPassiveSite
For more information, see Add-CMPassiveSite.
Bugs that were fixed
Fixed an issue for passive site in hierarchy.
Add-CMTaskSequenceStep
For more information, see Add-CMTaskSequenceStep.
Bugs that were fixed
Fixed a policy size issue when using multiple PowerShell steps that contain large scripts.
Add-CMWindowsAppxDeploymentType
For more information, see Add-CMWindowsAppxDeploymentType.
Non-breaking changes
Added function to support MSIX.
Approve-CMDevice
For more information, see Approve-CMDevice.
Non-breaking changes
Fixed an issue when working with Get-CMDevice.
Enable-CMSiteFeature
For more information, see Enable-CMSiteFeature.
Non-breaking changes
Added new flags to support cloud features.
Get-CMScript
For more information, see Get-CMScript.
Non-breaking changes
Added new parameter ScriptGuid to support query by script GUID.
Get-CMSiteFeature
For more information, see Get-CMSiteFeature.
Non-breaking changes
Added new flags to support cloud features.
Get-CMSoftwareUpdate
For more information, see Get-CMSoftwareUpdate.
Non-breaking changes
Added new parameter Vendor to specify the source of the software update.
Example:
Get-CMSoftwareUpdate -Name $Update -Vendor "Microsoft​"
Get-CMStatusMessageQuery
For more information, see Get-CMStatusMessageQuery.
Bugs that were fixed
Fixed an issue for parameter ShowMessage.
Import-CMDriver
For more information, see Import-CMDriver.
Non-breaking changes
Added new parameter AdministrativeCategoryName to specify a name for the driver category.
Example:
Import-CMDriver -UncFileLocation $DriverFolder -ImportFolder -ImportDuplicateDriverOption AppendCategory -AdministrativeCategory "Video drivers"
Invoke-CMAnalyzePackage
For more information, see Invoke-CMAnalyzePackage.
Breaking changes
Removed Package parameter. Pipe the package object, or use the InputObject parameter.
Non-breaking changes
Added pipeline support and the InputObject parameter.
Example:
$pkg | Invoke-CMAnalyzePackage
Invoke-CMClientAction
For more information, see Invoke-CMClientAction.
Bugs that were fixed
Fixed pipeline issue for parameter Collection.
Example:
Get-CMCollection -Name "deviceCol1" | Invoke-CMClientAction -ActionType ClientNotificationRequestUsersPolicyNow
Invoke-CMConvertPackage
For more information, see Invoke-CMConvertPackage.
Breaking changes
Removed Package parameter. Pipe the package object, or use the InputObject parameter.
Non-breaking changes
Added pipeline support and the InputObject parameter.
Example:
$pkg | Invoke-CMConvertPackage
Invoke-CMReport
For more information, see Invoke-CMReport.
Bugs that were fixed
Fixed an issue for parameter Path.
Invoke-CMScript
For more information, see Invoke-CMScript.
Non-breaking changes
Add parameter ScriptParameter to pass parameters to the target script.
Example:
$Hash = @{"FolderName"="c:\test\test1"; "FileName"="test2"}
Invoke-CMScript -ScriptGuid $scriptGuid -Device (Get-CMDevice -Name $targetPCName) -ScriptParameter $Hash
New-CMBMSClientConfigureCheckIntervalPolicy
For more information, see New-CMBMSClientConfigureCheckIntervalPolicy.
Bugs that were fixed
Fixed an issue when creating a new policy setting instance.
New-CMBoundary
For more information, see New-CMBoundary.
Non-breaking changes
Added VPN option in BoundaryType parameter.
New-CMBootableMedia
For more information, see New-CMBootableMedia.
Non-breaking changes
Add parameter SiteCode.
New-CMCloudManagementGateway
For more information, see New-CMCloudManagementGateway.
Non-breaking changes
The following parameters are new:
- CARootCert
- EnableCloudDPFunction
- EnableStorageQuota
- EnableTrafficOut
- EnforceProtocol
- Force
- GroupName
- IsUsingExistingGroup
- ServerAppClientID
- ServiceCertPassword
- ServiceCertPath
- ServiceName
- StorageCriticalPct
- StorageQuotaGB
- StorageWarningPct
- TrafficOutStopService
The following parameters are updated:
- CheckClientCertRevocation
- EnvironmentSetting
- Region
- SubscriptionId
- TrafficCriticalPct
- TrafficWarningPct
Breaking changes
The following parameters are removed from this cmdlet:
- GovernmentSubscription
- ManagementCertificatePassword
- ManagementCertificatePath
- PassThru
- RootCertificatePath
- ServiceCertificatePassword
- ServiceCertificatePath
- ServiceCName
New-CMCoManagementPolicy
For more information, see New-CMCoManagementPolicy.
Non-breaking changes
Added multi-session applicability
Added ARM64 applicability
New-CMComplianceRuleFileFolderDate
For more information, see New-CMComplianceRuleFileFolderDate.
Non-breaking changes
Adjusted the cmdlet logic to process the values from parameters Modification and Creation to align with other cmdlets.
New-CMComplianceRuleFileFolderSimple
For more information, see New-CMComplianceRuleFileFolderSimple.
Breaking changes
Changed the type of the parameter PropertyType from FileFolderProperty to SimpleFileFolderProperty type.
New-CMDetectionClauseDirectory
For more information, see New-CMDetectionClauseDirectory.
Breaking changes
Changed the type of the parameter ExpressionOperator from RuleExpressionOperator to FileFolderRuleExpressionOperator type.
New-CMDetectionClauseFile
For more information, see New-CMDetectionClauseFile.
Breaking changes
Changed the type of the parameter ExpressionOperator from RuleExpressionOperator to FileFolderRuleExpressionOperator type.
New-CMDetectionClauseMacBundle
For more information, see New-CMDetectionClauseMacBundle.
Breaking changes
Changed the type of the parameter ExpressionOperator from RuleExpressionOperator to MacRuleExpressionOperator type.
Bugs that were fixed
Fixed an issue for parameter PropertyType.
New-CMDetectionClauseMacPackage
For more information, see New-CMDetectionClauseMacPackage.
Breaking changes
Changed the type of the parameter ExpressionOperator from RuleExpressionOperator to MacRuleExpressionOperator type.
New-CMDetectionClauseRegistryKeyValue
For more information, see New-CMDetectionClauseRegistryKeyValue.
Breaking changes
Changed the type of the parameter ExpressionOperator from RuleExpressionOperator to RegistryValueRuleExpressionOperator type.
New-CMDetectionClauseWindowsInstaller
For more information, see New-CMDetectionClauseWindowsInstaller.
Breaking changes
Changed the type of the parameter ExpressionOperator from RuleExpressionOperator to WindowsInstallerRuleExpressionOperator type.
New-CMDriverPackage
For more information, see New-CMDriverPackage.
Bugs that were fixed
Fixed an issue for parameter DriverModel.
New-CM*PhasedDeployment
For more information, see the following articles:
- New-CMApplicationAutoPhasedDeployment
- New-CMSoftwareUpdateAutoPhasedDeployment
- New-CMSoftwareUpdateManualPhasedDeployment
- New-CMTaskSequenceAutoPhasedDeployment
- New-CMTaskSequenceManualPhasedDeployment
Bugs that were fixed
Fixed an issue for parameter WhatIf.
Non-breaking changes
Added validation for duplicated phase name.
New-CMPrestageMedia
For more information, see New-CMPrestageMedia.
Non-breaking changes
Add parameter SiteCode.
New-CMProgram
For more information, see New-CMProgram.
Breaking changes
Renamed the type RenameWithUnc
to RunWithUnc
for parameter DriveMode.
New-CMSoftwareUpdateDeployment
For more information, see New-CMSoftwareUpdateDeployment.
Non-breaking changes
Added new parameter DeployWithNoPackage for non-downloaded software update.
New-CMStandaloneMedia
For more information, see New-CMStandaloneMedia.
Bugs that were fixed
Fixed an issue for parameter PrestartPackage
New-CMTaskSequence
For more information, see New-CMTaskSequence.
Bugs that were fixed
Fixed a policy size issue when you use multiple PowerShell steps that contain large scripts.
New-CMTaskSequenceDeployment
For more information, see New-CMTaskSequenceDeployment.
Bugs that were fixed
Fixed an issue for parameter AllowFallback.
Non-breaking changes
Added validation for parameter Schedule to avoid duplicated value with existing assignment.
New-CMTaskSequenceMedia
For more information, see New-CMTaskSequenceMedia.
Non-breaking changes
Changed timeout in media creation from one day to three days.
New-CMTSPartitionSetting
For more information, see New-CMTSPartitionSetting.
Bugs that were fixed
Fixed an issue for parameter EnableQuickFormat.
New-CMTSStepEnableBitLocker
For more information, see New-CMTSStepEnableBitLocker.
Bugs that were fixed
Fixed an issue for user-specified encryption method.
New-CMTSStepOfflineEnableBitLocker
For more information, see New-CMTSStepOfflineEnableBitLocker.
Bugs that were fixed
Fixed an issue for user-specified encryption method.
New-CMTSStepPreStartCheck
For more information, see New-CMTSStepPreStartCheck.
Bugs that were fixed
Fixed an issue for new check readiness step.
Fixed an issue for parameter OSLanguageId.
Non-breaking changes
Add a new parameter for UEFI check, CheckUefi.
Remove-CMTaskSequenceGroup
For more information, see Remove-CMTaskSequenceGroup.
Bugs that were fixed
Fixed a policy size issue when you use multiple PowerShell steps that contain large scripts.
Set-CM*PhasedDeployment
For more information, see the following articles:
- Set-CMApplicationPhasedDeployment
- Set-CMSoftwareUpdatePhasedDeployment
- Set-CMTaskSequencePhasedDeployment
Bugs that were fixed
Fixed an issue for parameter WhatIf.
Set-CMBoundary
For more information, see Set-CMBoundary.
Non-breaking changes
Added VPN
option in BoundaryType.
Set-CMClientSettingComputerRestart
For more information, see Set-CMClientSettingComputerRestart.
Non-breaking changes
Added a new parameter NoRebootEnforcement.
Set-CMClientSettingSoftwareUpdate
For more information, see Set-CMClientSettingSoftwareUpdate.
Non-breaking changes
Added parameters:
- EnableInstallation
- ThreadPriority
- EnableDynamicUpdate
Example:
Set-CMClientSettingSoftwareUpdate -InputObject $testsetting -Enable $true -ScanSchedule $Sch1 -DeploymentEvaluationSchedule $Sch2 -BatchingTimeout 3 -TimeUnit Days -EnforceMandatory $true -Office365ManagementType $false -EnableThirdPartyUpdates $true -EnableDeltaDownload $true -EnableInstallation $true -ThreadPriority Normal -EnableDynamicUpdate $true
Set-CMCloudManagementGateway
For more information, see Set-CMCloudManagementGateway.
Non-breaking changes
The following parameters are new:
- CARootCert
- EnableCloudDPFunction
- EnableStorageQuota
- EnableTrafficOut
- EnforceProtocol
- RemoveCertThumbprints
- StorageCriticalPct
- StorageQuotaGB
- StorageWarningPct
- TrafficOutStopService
- VMInstanceCount
Breaking changes
The following parameters are removed from this cmdlet:
- VMInstancesCount
Set-CMDiscoveryMethod
For more information, see Set-CMDiscoveryMethod.
Bugs that were fixed
Fixed an issue for parameter AddGroupDiscoveryScope.
Set-CMDistributionPoint
For more information, see Set-CMDistributionPoint.
Non-breaking changes
Added parameters to support Microsoft Connected Cache:
- EnableDoinc
- DiskSpaceUnit
- DiskSpaceDoinc
- LocalDriveDoinc
- RetainDoincCache
- AgreeDoincLicense
Example:
$dp | Set-CMDistributionPoint -EnableDoinc $true -AgreeDoincLicense $true
$dp | Set-CMDistributionPoint -RetainDoincCache $true -EnableDoinc $true -AgreeDoincLicense $true
$dp | Set-CMDistributionPoint -LocalDriveDoinc "Z:" -DiskSpaceDoinc 9000 -DiskSpaceUnit GB
Set-CMDriverPackage
For more information, see Set-CMDriverPackage.
Bugs that were fixed
Fixed an issue for parameter DriverModel.
Set-CMManagementPoint
For more information, see Set-CMManagementPoint.
Bugs that were fixed
Fixed an issue for cloud management gateway support.
Set-CMProgram
For more information, see Set-CMProgram.
Breaking changes
Renamed the type RenameWithUnc
to RunWithUnc
for parameter DriveMode.
Set-CMSiteMaintenanceTask
For more information, see Set-CMSiteMaintenanceTask.
Non-breaking changes
Added the following new parameters for configuring Site backup destination and SQL backup destination for environments with a remote SMS Provider:
- SiteBackupPath
- SqlBackupPath
Example:
Set-CMSiteMaintenanceTask -Name $TaskName -SiteBackupPath "c:\site-backup" -SqlBackupPath "c:\sql-backup" -BeginTime (Get-Date) -DaysOfWeek Sunday,Monday -EnableAlert $true -Enabled $true
Set-CMSoftwareUpdateAutoDeploymentRule
For more information, see Set-CMSoftwareUpdateAutoDeploymentRule.
Bugs that were fixed
Fixed an issue for input object from Get-CMSoftwareUpdateAutoDeploymentRule with Fast option.
Set-CMSoftwareUpdateDeploymentPackage
For more information, see Set-CMSoftwareUpdateDeploymentPackage.
Bugs that were fixed
Fixed an issue for parameters RemoveExpired and RemoveSuperceded.
Set-CMSoftwareUpdateGroup
For more information, see Set-CMSoftwareUpdateGroup.
Bugs that were fixed
Fixed an issue for adding non-downloaded software update.
Set-CMStatusFilterRule
For more information, see Set-CMStatusFilterRule.
Bugs that were fixed
Fixed an issue for Name parameter to make sure it consists with Get-CMStatusFilterRule.
Set-CMTaskSequenceDeployment
For more information, see Set-CMTaskSequenceDeployment.
Bugs that were fixed
Fixed an issue for parameter ScheduleEvent.
Fixed an issue for parameter AllowFallback.
Non-breaking changes
Added validation for parameter Schedule to avoid duplicated value with existing assignment.
Added new parameters to configure Schedule:
- ClearSchedule
- RemoveSchedule
- AddSchedule
Added new parameters to configure ScheduleEvent:
- ClearScheduleEvent
- RemoveScheduleEvent
- AddScheduleEvent
Example:
$ReferenceDeployment | Set-CMTaskSequenceDeployment -AddSchedule $schedule1, $schedule2
$ReferenceDeployment | Set-CMTaskSequenceDeployment -AddScheduleEvent LogOn, LogOff
Set-CMTSStep*
Bugs that were fixed
Fixed a policy size issue when you use multiple PowerShell steps that contain large scripts.
Set-CMTSStepEnableBitLocker
For more information, see Set-CMTSStepEnableBitLocker.
Bugs that were fixed
Fixed an issue for user-specified encryption method.
Set-CMTSStepOfflineEnableBitLocker
For more information, see Set-CMTSStepOfflineEnableBitLocker.
Bugs that were fixed
Fixed an issue for user-specified encryption method.
Set-CMTSStepPreStartCheck
For more information, see Set-CMTSStepPreStartCheck.
Non-breaking changes
Added a new parameter for UEFI check:, CheckUefi.
Set-CMWindowsAppxDeploymentType
For more information, see Set-CMWindowsAppxDeploymentType.
Non-breaking changes
Added function to support MSIX.
Start-CMCloudManagementGateway
For more information, see Start-CMCloudManagementGateway.
Bugs that were fixed
Corrected the validation for CMG status.
Start-CMContentDistribution
For more information, see Start-CMContentDistribution.
Non-breaking changes
Added aliases for parameter DeploymentPackageId and DeploymentPackageName for better understanding.
Stop-CMCloudManagementGateway
For more information, see Stop-CMCloudManagementGateway.
Bugs that were fixed
Corrected the validation for CMG status.
How to provide feedback or report issues
Many of the fixes and improvements described in this article are a result of your feedback.
To send feedback, use the Configuration Manager console. For more information, see Feedback for PowerShell.