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-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.

Get-CMScript

For more information, see Get-CMScript.

Non-breaking changes

Added new parameter ScriptGuid to support query by script GUID.

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-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-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-CMDetectionClauseMacBundle

For more information, see New-CMDetectionClauseMacBundle.

Bugs that were fixed

Fixed an issue for parameter PropertyType.

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-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-CMTSPartitionSetting

For more information, see New-CMTSPartitionSetting.

Bugs that were fixed

Fixed an issue for parameter EnableQuickFormat.

Set-CM*PhasedDeployment

For more information, see the following articles:

Bugs that were fixed

Fixed an issue for parameter WhatIf.

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-CMWindowsAppxDeploymentType

For more information, see Set-CMWindowsAppxDeploymentType.

Non-breaking changes

Added function to support MSIX.

Start-CMContentDistribution

For more information, see Start-CMContentDistribution.

Non-breaking changes

Added aliases for parameter DeploymentPackageId and DeploymentPackageName for better understanding.

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.

To submit new feature requests, see the PowerShell group of Configuration Manager on UserVoice.