title | titleSuffix | description | ms.date | ms.topic | ms.author | author | manager | ROBOTS |
---|---|---|---|---|---|---|---|---|
Version 2002 release notes |
Configuration Manager |
Release notes for the changes to PowerShell cmdlets in Configuration Manager version 2002. |
03/20/2020 |
conceptual |
banreetkaur |
Banreet |
apoorvseth |
NOINDEX |
Applies to: Configuration Manager (current branch)
Note
Configuration Manager current branch version 1910 is the baseline for these changes. For more information, see Configuration Manager Cmdlet Library changes for version 1910.
Use this cmdlet to create a deployment phase for software update.
New-CMSoftwareUpdatePhase `
-CollectionName "MyCollection" `
-PhaseName "MySUPhase"`
-UserNotificationOption DisplaySoftwareCenterOnly
Use this cmdlet to create a deployment phase for a task sequence.
New-CMTaskSequencePhase -CollectionName "MyCollection" -PhaseName "MyTSPhase" -UserNotification DisplayAll -AllowRemoteDP $true
Use this cmdlet to get the deployment phase for a specific instance or a phased deployment.
Get-CMPhase -Id "66DEDF86-D0CB-457D-88BE-47E3FAC92A47"
$myPhasedDeployment | Get-CMPhase
Use this cmdlet to create a phased deployment for an application by generating two phases with same settings.
New-CMApplicationAutoPhasedDeployment -ApplicationName "myApp" -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"
$myApp | New-CMApplicationAutoPhasedDeployment -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"
Use this cmdlet to create a phased deployment for software updates by generating two phases with same settings.
New-CMSoftwareUpdateAutoPhasedDeployment -SoftwareUpdateName "myUpdateName" -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"
$myUpdate | New-CMSoftwareUpdateAutoPhasedDeployment -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"
Use this cmdlet to create a phased deployment for software updates. You'll need to add new customized deployment phases with the cmdlet New-CMSoftwareUpdatePhase first.
$phase1 = New-CMSoftwareUpdatePhase -CollectionId "SMSDM001" -PhaseName "test01" -UserNotificationOption DisplaySoftwareCenterOnly
$phase2 = New-CMSoftwareUpdatePhase -CollectionId "SMSDM003" -PhaseName "test02" -UserNotificationOption DisplaySoftwareCenterOnly
New-CMSoftwareUpdateManualPhasedDeployment -SoftwareUpdateNames ("myUpdateA", "myUpdateB") -Name "myPhaseDeployment" -AddPhases ($phase1, $phase2)
$phase3 = New-CMSoftwareUpdatePhase -CollectionId "SMSDM001" -PhaseName "test03" -UserNotificationOption DisplaySoftwareCenterOnly
$phase4 = New-CMSoftwareUpdatePhase -CollectionId "SMSDM003" -PhaseName "test04" -UserNotificationOption DisplaySoftwareCenterOnly
New-CMSoftwareUpdateManualPhasedDeployment -SoftwareUpdateGroupName "myGroup" -Name "myPhaseDeploymentForGroup" -AddPhases ($phase3, $phase4)
Use this cmdlet to create a phased deployment for a task sequence by generating two phases with same settings.
New-CMTaskSequenceAutoPhasedDeployment -TaskSequenceName "myTaskSequenceName" -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"
$myTS | New-CMTaskSequenceAutoPhasedDeployment -Name "myPDName" -FirstCollectionID "SMSDM001" -SecondCollectionID "SMSDM003" -CriteriaOption Compliance -CriteriaValue 1 -BeginCondition AfterPeriod -DaysAfterPreviousPhaseSuccess 2 -ThrottlingDays 3 -InstallationChoice AfterPeriod -DeadlineUnit Hours -DeadlineValue 4 -Description "MyDescription"
Use this cmdlet to create a phased deployment for a task sequence. You'll need to add new customized deployment phases with the cmdlet New-CMTaskSequencePhase first.
$phase1 = New-CMTaskSequencePhase -CollectionId "SMSDM001" -PhaseName "test01" -UserNotification DisplayAll
$phase2 = New-CMTaskSequencePhase -CollectionId "SMSDM003" -PhaseName "test02" -UserNotification HideAll
New-CMTaskSequenceManualPhasedDeployment -TaskSequenceName "myTaskSequence" -Name "phasedDeployment" -AddPhases ($phase1, $phase2)
$phase3 = New-CMTaskSequencePhase -CollectionId "SMSDM001" -PhaseName "test03" -UserNotification DisplayAll
$phase4 = New-CMTaskSequencePhase -CollectionId "SMSDM003" -PhaseName "test04" -UserNotification HideAll
$myTaskSequence | New-CMTaskSequenceManualPhasedDeployment -Name "phasedDeployment" -AddPhases ($phase3, $phase4)
Use this cmdlet to get the phased deployment for an application.
Get-CMApplicationPhasedDeployment -Name "myPhasedDeploymentName"
Get-CMApplicationPhasedDeployment -ApplicationName "myApplicationName"
Use this cmdlet to get the phased deployment for software updates.
Get-CMSoftwareUpdatePhasedDeployment -Name "myPhasedDeploymentName"
Get-CMSoftwareUpdatePhasedDeployment -SoftwareUpdateName "myUpdateName"
Use this cmdlet to get the phased deployment for a task sequence.
Get-CMTaskSequencePhasedDeployment -Name "myPhasedDeploymentName"
Get-CMTaskSequencePhasedDeployment -TaskSequenceName "myTaskSequenceName"
Use this cmdlet to get the status of a specific phased deployment.
Get-CMPhasedDeploymentStatus -Name "myPhasedDeploymentName"
$myPhasedDeployment | Get-CMPhasedDeploymentStatus -Catalog $catalog
Use this cmdlet to move the specified phased deployment to the next phase.
Move-CMPhasedDeploymentToNext -Name "myPhasedDeploymentName"
$myPhasedDeployment | Move-CMPhasedDeploymentToNext -Force
Use this cmdlet to resume the phased deployment from the suspend status.
Resume-CMPhasedDeployment -Name "myPhasedDeploymentName"
$myPhasedDeployment | Resume-CMPhasedDeployment -Force
Use this cmdlet to suspend the specified phased deployment.
Suspend-CMPhasedDeployment -Name "myPhasedDeploymentName"
$myPhasedDeployment | Suspend-CMPhasedDeployment -Force
Use this cmdlet to remove a phased deployment for an application.
Remove-CMApplicationPhasedDeployment -ApplicationName "myApplicationName"
Remove-CMApplicationPhasedDeployment -Name "myPhasedDeploymentName"
$myPhasedDeployment | Remove-CMApplicationPhasedDeployment -Force
Use this cmdlet to remove a phased deployment for software updates.
Remove-CMSoftwareUpdatePhasedDeployment -SoftwareUpdateName "mySoftwareUpdateName"
Remove-CMSoftwareUpdatePhasedDeployment -SoftwareUpdateGroupName "mySoftwareUpdateGroupName"
Remove-CMSoftwareUpdatePhasedDeployment -Name "myPhasedDeploymentName"
$myPhasedDeployment | Remove-CMSoftwareUpdatePhasedDeployment -Force
Use this cmdlet to remove a phased deployment for a task sequence.
Remove-CMTaskSequencePhasedDeployment -TaskSequenceName "myTaskSequenceName"
Remove-CMTaskSequencePhasedDeployment -Name "myPhasedDeploymentName"
$myPhasedDeployment | Remove-CMTaskSequencePhasedDeployment -Force
Use this cmdlet to add a passive site.
Add-CMPassiveSite -InputObject $SiteSystem -InstallDirectory $InstallPath -SourceFilePathOption CopySourceFileFromActiveSite
Add-CMPassiveSite -SiteCode $SiteCode -SiteSystemServerName $SiteSystemServerName -InstallDirectory $InstallPath -SourceFilePathOption UseLocalSourceDirectory -LocalSourceDirectory $LocalSourcePath
Use this cmdlet to get third-party update categories.
Get-CMThirdPartyUpdateCategory
Get-CMThirdPartyUpdateCategory -Catalog $catalog
Get-CMThirdPartyUpdateCategory -CatalogId $catalogId -Id $categoryId
Get-CMThirdPartyUpdateCategory -CatalogName $catalogName -Name $categoryName
$catalog | Get-CMThirdPartyUpdateCategory -ParentId $parentId -PublishOption $publishOption
Use this cmdlet to move the content library before adding a passive site.
Move-CMContentLibrary -InputObject $Site -NewLocation $NewLocationPath
Move-CMContentLibrary -SiteCode $SiteCode -NewLocation $NewLocationPath
Use this cmdlet to modify third-party update categories.
Set-CMThirdPartyUpdateCategory -Catalog $catalog -Id $categoryId -PublishOption $publishOption -EnableCategories $true
$catalog | Set-CMThirdPartyUpdateCategory -Name $categoryName -PublishOption $publishOption -EnableCategories $true
Set-CMThirdPartyUpdateCategory -CatalogId $catalogId -ParentId $parentId -PublishOption $publishOption -EnableCategories $true
Set-CMThirdPartyUpdateCategory -CatalogName $catalogName -Name $categoryName -ParentId $parentId -PublishOption $publishOption -EnableCategories $true
Set-CMThirdPartyUpdateCategory -Categories $categories -PublishOption $publishOption -EnableCategories $true
None
None
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.
Added more error handling for the query rule.
Added the following new parameters to allow you to configure the repair command and directory options when creating deployment type:
- RepairCommand
- RepairWorkingDirectory
Missing parameters to configure repair command and directory option when creating deployment type.
The -ContentLocation will no longer accept an empty folder.
The -ContentLocation shouldn't allow an empty folder.
Added more error handling for the query rule.
Fixed a parameter bounding issue for -Timeout.
Added the following new parameter to allow you to configure the repair application option when creating a deployment for an application:
- AllowRepairApp
Missing parameter to configure repair application option when creating deployment for application.
Corrected the validation for the -SiteSystemServerName and -PublicFqdn.
Wrong limitation for the specified -SiteSystemServerName and -PublicFqdn.
The -ReferencedVariableName now accept variable name that begins with underscore.
The -ReferencedVariableName doesn't allow user to specify variable name that begins with underscore.
Added the following new parameter to allow you to configure the repair application option when you set the deployment for an application:
- AllowRepairApp
Missing parameter to configure repair application option when set deployment for application.
Added the following new parameters to allow you to configure repair command and directory options when you set the deployment type:
- RepairCommand
- RepairWorkingDirectory
Missing parameters to configure repair command and directory option when set deployment type.
Added the following new parameter to allow you to retry the installation for a failed passive site:
- RetryInstallPassiveSite
Added the following new parameter to allow you to promote a passive site to active:
- PromotePassiveSiteToActive
The -ContentLocation will no longer accept an empty folder.
The -ContentLocation shouldn't allow an empty folder.
- The cmdlet now supports setting 'Sync Schedule' for a catalog.
- Modified an internal function call due to a native method change.
Set-CMThirdPartyUpdateCatalog -Name $name –Schedule $schedule