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:

  1. Import-CMAADServerApplication: Create the Azure AD server app definition in Configuration Manager.
  2. Import-CMAADClientApplication: Create the Azure AD client app definition in Configuration Manager.
  3. Use Get-CMAADApplication to get the app objects, and then pass to New-CMCloudManagementAzureService to create the Azure service connection in Configuration Manager.
  4. New-CMCloudManagementGateway: Create the CMG service in Azure.
  5. Add-CMCloudManagementGatewayConnectionPoint: Create the CMG connection point site system.

New cmdlets for CMG

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:

New cmdlets

Application management

Collection management

Windows 10 edition upgrade

Microsoft Edge browser profiles

OneDrive for Business profiles

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:

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:

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.