Documente Academic
Documente Profesional
Documente Cultură
Important changes
Remove-CM* cmdlets no longer terminate the pipeline if trying to remove an
object that does not exist
In previous releases, if trying to remove an object that does not exist, the pipeline would terminate. In this
release a change was made to this behavior to be consistent with PowerShell standards. If an object is not
found, an error is written but the pipeline does not terminate. To restore previous behavior, add -
ErrorAction Stop.
Detection and error reporting when passing an IResultObject value into a string
parameter
If a cmdlet detects that an IResultObject is passed to a parameter expecting a string value, it will now fail with
a clear error.
Get-CM* cmdlets may support “Fast” mode and may emit a warning if it is not
used
Some Get cmdlets now have a Fast parameter. This parameter allows the cmdlet to return objects without
automatically refreshing lazy properties. Retrieving lazy property values can cause additional network traffic
and can slow down cmdlet execution. If lazy properties are not used Fast should be supplied as a cmdlet
parameter.
To provide visibility into this change, cmdlets that support Fast will write a warning to the console if it is not
used in a case where its presence may be beneficial. This warning can be suppressed by setting
$CMPSSuppressFastNotUsedCheck = $true.
Known issues
These are known issues with the Cmdlet Library that are not resolved in this release.
Add/Set-CMDeploymentType
AllowClientsToUseFallbackSourceForContent and OnSlowNetworkMode settings may not apply to
deployment type.
Workaround
Use technology-specific Add/Set-TechnologyNameDeploymentType cmdlet.
Add-CMIntuneSubscription
Cmdlet may fail with "Could not load file or assembly" errors if running on a build earlier than Configuration
Manager 1606.
Workaround
One or both of these workarounds may be necessary if running on a build earlier than Configuration Manager
1606.
Download the Active Directory Authentication Library (ADAL) SDK and copy the assemblies into the
<configurationmanagerconsole>\bin directory. It may be necessary to restart PowerShell.
Download Json.NET version 4.5.11 and copy the Newtonsoft.Json.dll assembly into the
<configurationmanagerconsole>\bin directory. It may be necessary to restart PowerShell.
New-CMApnsCertificateRequest
Cmdlet may fail with "Could not load file or assembly" errors if running on a build earlier than Configuration
Manager 1606.
Workaround
One or both of these workarounds may be necessary if running on a build earlier than Configuration Manager
1606.
Download the Active Directory Authentication Library (ADAL) SDK and copy the assemblies into the
<configurationmanagerconsole>\bin directory. It may be necessary to restart PowerShell.
Download Json.NET version 4.5.11 and copy the Newtonsoft.Json.dll assembly into the
<configurationmanagerconsole>\bin directory. It may be necessary to restart PowerShell.
New-CMDepTokenRequest
Cmdlet may fail with "Could not load file or assembly" errors if running on a build earlier than Configuration
Manager 1606.
Workaround
One or both of these workarounds may be necessary if running on a build earlier than Configuration Manager
1606.
Download the Active Directory Authentication Library (ADAL) SDK and copy the assemblies into the
<configurationmanagerconsole>\bin directory. It may be necessary to restart PowerShell.
Download Json.NET version 4.5.11 and copy the Newtonsoft.Json.dll assembly into the
<configurationmanagerconsole>\bin directory. It may be necessary to restart PowerShell.
Set-CMBaseline
When PassThru is used, an SMS_ConfigurationBaselineInfo object is not returned as expected.
Workaround
Use Get-CMBaseline after Set-CMBaseline to get the expected object.
Set-CMOutOfBandManagementComponent
CertificateTemplate parameter may not properly configure the template.
Workaround
None
New cmdlets
These are newly-added cmdlets for this release that add new functionality or enhance the functionality of
existing cmdlets.
Get-CMAutoDeploymentRuleDeployment
New-CMAutoDeploymentRuleDeployment
Remove-CMAutoDeploymentRuleDeployment
Set-CMAutoDeploymentRuleDeployment
Add-CMCertificateRegistrationPoint
Get-CMCertificateRegistrationPoint
Remove-CMCertificateRegistrationPoint
Set-CMCertificateRegistrationPoint
Example
Add-CMCertificateRegistrationPoint -SiteSystemServerName myserver.contoso.com -
Certificate "e:\mycert.cer"
Collection
Added new cmdlets for working with collections and collection members:
Added new cmdlets for configuring power management settings for a collection:
New-CMPowerManagementCustomPlan
Set-CMCollectionPowerManagement
Get-CMConditionalAccessPolicy
New-CMConditionalAccessPolicy
Remove-CMConditionalAccessPolicy
Set-CMConditionalAccessPolicy
Hybrid management
These cmdlets require a valid Intune subscription. Unless noted otherwise, these cmdlets require
Configuration Manager 1511 or newer.
Added new cmdlets for remote lock and PIN reset (Configuration Manager 2012 SP2 and newer):
Get-CMDeviceAction
Invoke-CMDeviceAction
Added new cmdlets for configuring device support for an Intune subscription:
Set-CMIntuneSubscriptionAndroidProperty
Set-CMIntuneSubscriptionAppleDepProperty
Set-CMIntuneSubscriptionAppleMdmProperty (for iOS or OSX management)
Set-CMIntuneSubscriptionPassportForWorkProperty
Set-CMIntuneSubscriptionWindowsPhoneProperty
Set-CMIntuneSubscriptionWindowsProperty
Add-CMMdmEnrollmentManager
Get-CMMdmEnrollmentManager
Remove-CMMdmEnrollmentManager
Add-CMServiceConnectionPoint
Get-CMServiceConnectionPoint
Remove-CMServiceConnectionPoint
Set-CMServiceConnectionPoint
Settings
Added new cmdlet for importing a wireless profile:
Import-CMWirelessConfigurationItem
Get-CMEmailProfile
New-CMEmailProfile
Remove-CMEmailProfile
Set-CMEmailProfile
Get-CMCertificateProfilePfx
Get-CMCertificateProfileScep
Get-CMCertificateProfileTrustedRootCA
New-CMCertificateProfilePfx
New-CMCertificateProfileScep
New-CMCertificateProfileTrustedRootCA
Remove-CMCertificateProfilePfx
Remove-CMCertificateProfileScep
Remove-CMCertificateProfileTrustedRootCA
Set-CMCertificateProfilePfx
Set-CMCertificateProfileScep
Set-CMCertificateProfileTrustedRootCA
Added new cmdlets for user client certificate private key import:
Get-CMClientCertificatePfx
Import-CMClientCertificatePfx
Remove-CMClientCertificatePfx
Invoke-CMWmiMethod
Invoke-CMWmiQuery
These cmdlets can perform functions directly against the SMS Provider without needing to specify
namespaces, credentials, or other configuration information.
New-CMBootableMedia
New-CMCaptureMedia
New-CMPrestageMedia
New-CMStandaloneMedia
Get-CMWindowsServicingPlan
New-CMWindowsServicingPlan
Remove-CMWindowsServicingPlan
Set-CMWindowsServicingPlan
Cmdlet changes
These are changes that have been made to existing cmdlets for this release. Changes may be new
functionality, bug fixes, or deprecations, and may be breaking. If you use one of the cmdlets or feature areas
listed in this section, please carefully review the changes to understand how they may affect your use.
Miscellaneous changes
Bugs that were fixed
Site role cmdlets may not validate that a specified connection account user is valid and present in the site.
Some Application and Certificate cmdlets may silently fail if no matching results are found (regression from
Fall 2015 release).
Non-breaking changes
Performance improvements for Driver-related cmdlets.
Several cmdlets that worked with lockable objects (applications, software updates) were updated to ensure
proper locking and reporting. This includes the following cmdlet families: CMApplication,
CMSoftwareUpdate, CMBaseline, CMDriver, CMPackage, and CMTaskSequence.
Add-CMAppv5XDeploymentType
Bugs that were fixed
Publisher details are not being added to the deployment type.
Add-CMAppvDeploymentType
Bugs that were fixed
Publisher details are not being added to the deployment type.
Add-CMCollectionToAdministrativeUser
Bugs that were fixed
UserId parameter is not processed.
Add-CMEnrollmentProxyPoint
Bugs that were fixed
Enrollment proxy point may not be correctly configured.
Add-CMGooglePlayDeploymentType
Bugs that were fixed
Details for mobile application management may be missing from created deployment type on Current
Branch.
Add-CMManagementPoint
Bugs that were fixed
SqlServerFqdn parameter does not validate that a correct FQDN is used.
Add-CMIosDeploymentType
Bugs that were fixed
Details for mobile application management may be missing from created deployment type on Current
Branch.
Add-CMMsiDeploymentType
Non-breaking changes
New SourceUpdateProductCode parameter for setting the update product code.
New InstallationBehaviorType parameters for setting the interaction method of the deployment type.
Add-CMSoftwareUpdateToGroup
Non-breaking changes
Add support for adding multiple updates to a group.
Add-CMWindowsStoreDeploymentType
Bugs that were fixed
Cmdlet may fail with an unclear error on Configuration Manager 2012 sites if the DeploymentTypeName
parameter is not used.
Clear-CMPxeDeployment
Non-breaking changes
Added additional logging, and improved error handling when a failure occurs.
Performance improvements.
Copy-CMSecurityRole
Non-breaking changes
New NewRoleName parameter to specify an alternate role name if Overwrite is false.
Disable-CMTaskSequence
Deprecations
Cmdlet has been deprecated. Set-CMTaskSequence should be used to enable or disable a task sequence.
Enable-CMTaskSequence
Deprecations
Cmdlet has been deprecated. Set-CMTaskSequence should be used to enable or disable a task sequence.
Export-CMAntimalwarePolicy
Bugs that were fixed
Pipelined object may be disposed.
Export-CMSecurityRole
Non-breaking changes
New NewRoleName parameter to specify an alternate role name if Overwrite is false.
Get-CM*Component
Deprecations
SiteSystemServerName parameter.
Get-CMObjectSecurityScope
Bugs that were fixed
Cannot retrieve security scope for an application approval request.
Get-CMSiteRole
Non-breaking changes
Now supports getting site roles from a pipelined site system server object.
Get-CMSoftwareUpdateAutoDeploymentRule
Breaking changes
Cmdlet will no longer output Windows 10 servicing plans. To restore this behavior, either
add -IsServicingPlan $true, or use Get-CMWindowsServicingPlan.
Get-CMSoftwareUpdateLicense
Bugs that were fixed
Cmdlet may not return expected objects.
Non-breaking changes
Performance improvements.
Import-CMAntimalwarePolicy
Bugs that were fixed
Cmdlets may fail on Configuration Manager 1511 or newer with a “Not Found” error.
Import-CMComputerInformation
Non-breaking changes
SMBiosGuid parameter now accepts any valid GUID string format.
New UserName and UserAccountMigrationBehavior parameters to specify migration behavior for user
accounts when using SourceComputer.
Import-CMDriver
Bugs that were fixed
Returned object is not usable.
Import-CMSecurityRole
Non-breaking changes
New NewRoleName parameter to specify an alternate role name if Overwrite is false.
Invoke-CMContentValidation
Non-breaking changes
Performance improvements.
Invoke-CMQuery
Bugs that were fixed
Query execution does not honor “Limit to collection” setting and may return unexpected results.
Invoke-CMRemoteControl
Bugs that were fixed
SiteSystemServerName parameter fails to find a site system.
Breaking changes
Cmdlet no longer accepts array values for SiteSystemRole, SiteCode, DeviceName, or DeviceId parameters.
Move-CMObject
Bugs that were fixed
Cmdlet may fail with an “Object not found” error.
New-CMBoundary
Bugs that were fixed
Cmdlet allows for creating boundaries with duplicate names.
New-CMBoundaryGroup
Non-breaking changes
Added support for configuring the site system servers associated with the boundary group.
New-CMConfigurationItem
Bugs that were fixed
Name is not a required parameter and will create an invalid configuration item if not used.
New-CMDeviceCollection
Bugs that were fixed
LimitingCollectionID is not validated to be a valid or existing collection.
New-CMOperatingSystemImageUpdateSchedule
Bugs that were fixed
Cmdlet may not properly configure the update schedule.
New-CMSecurityScope
Bugs that were fixed
Created security scope is not properly associated with the current user.
New-CMSoftwareUpdateAutoDeploymentRule
Bugs that were fixed
DeployWithoutLicense parameter may not configure the rule as expected.
Non-breaking changes
Performance improvements.
New-CMSoftwareUpdateGroup
Non-breaking changes
Add support for adding updates to a group through the pipeline.
New-CMTaskSequenceMedia
Bugs that were fixed
ExpirationDate and StartDate may not be correct in the created boot media.
Deprecations
This cmdlet is now deprecated. New task sequence media creation cmdlets can be used instead.
New-CMWirelessProfileConfigurationItem
Bugs that were fixed
Cmdlet may fail to create a new configuration item from a digest.
Out-CMSignedWindowsMobileCab
Bugs that were fixed
Cmdlet does not have any usable parameters.
Remove-CMAutoDeploymentRuleDeployment
Bugs that were fixed
Force parameter is missing.
Remove-CMCategory
Bugs that were fixed
Pipelined category object may be disposed.
Remove-CMContentDistribution
Non-breaking changes
Performance improvements.
Remove-CMDeployment
Bugs that were fixed
Pipelined deployment object may be disposed.
Remove-CMIntuneSubscription
Bugs that were fixed
Cmdlet does not properly remove an Intune subscription.
Remove-CMMaintenanceWindow
Non-breaking changes
Name parameter now supports wildcards.
Remove-CMUser
Bugs that were fixed
Cmdlet does not validate that the pipelined object is a user resource.
Non-breaking changes
Name parameter now supports “SMSID” (DOMAIN\user) format. In previous releases, only the “Name”
(DOMAIN\user (full name)) format was supported.
Set-CMAntimalwarePolicy
Bugs that were fixed
Cmdlets may fail on Configuration Manager 1511 or newer with a “Not Found” error.
Set-CMApplication
Non-breaking changes
Performance improvements.
Set-CMApplicationDeployment
Bugs that were fixed
AvailableDate/AvailableTime parameter values may not be processed.
Non-breaking changes
New CollectionId parameter
Set-CMBoundaryGroup
Non-breaking changes
Added support for configuring the site system servers associated with the boundary group.
Example
$siteServer = @{ "myserver.contoso.com" = "FastLink" }
$boundaryGroup | Set-CMBoundaryGroup –AddSiteSystemServer $siteServer
Set-CMClientSetting
Non-breaking changes
New UseNewSoftwareCenter parameter for enabling the new Software Center experience (Configuration
Manager 1511 and newer only).
Set-CMConditionalAccessPolicy
Bugs that were fixed
AddExcludedCollectionName, AddExcludedCollectionId, RemoveExcludedCollectionName, and
RemoveExcludedCollectionId parameters are not processed.
Set-CMDiscoveryMethod
Non-breaking changes
New Recursive, IncludeGroups, RemoveActiveDirectoryContainer, AddActiveDirectoryContainer
parameters for modifying user and system discovery settings in place.
Deprecations
ActiveDirectoryContainer parameter.
Set-CMDistributionPoint
Bugs that were fixed
Disabling HTTPS support for a distribution point may leave configuration in an incorrect state.
Non-breaking changes
New AddMacAddressForRespondingPxeRequest, RemoveMacAddressForRespondingPxeRequest,
ClearMacAddressForRespondingPxeRequest parameters to provide finer control over MAC addresses
supported for PXE requests.
Deprecations
MacAddressForRespondingPxeRequest and RespondToAllNetwork parameters.
Set-CMDriver
Bugs that were fixed
Pipelined driver object may be disposed.
Non-breaking changes
Performance improvements.
Set-CMHierarchySetting
Bugs that were fixed
AutoResolveClientConflict parameter value may not be processed.
Set-CMMsiDeploymentType
Non-breaking changes
New SourceUpdateProductCode parameter for setting the update product code.
New InstallationBehaviorType parameters for setting the interaction method of the deployment type.
Set-CMObjectSecurityScope
Bugs that were fixed
Cannot configure security scope for a distribution point.
Set-CMProgram
Bugs that were fixed
Cmdlet incorrectly prompts for ProgramName when using pipelined SMS_Program object.
Set-CMRemoteConnectionProfileConfigurationItem
Bugs that were fixed
Cmdlet may not fail if invalid parameter combinations are used.
Set-CMSite
Bugs that were fixed
EnableLowFreeSpaceAlert parameter value changes may not be applied to the site settings.
Set-CMSiteMaintenanceTask
Bugs that were fixed
DeleteOlderThanDays parameter values may not be processed.
Set-CMSiteSystemServer
Bugs that were fixed
Changes may not apply as expected to a pipelined site system server object.
Non-breaking changes
Performance improvements.
Set-CMSoftwareUpdateDeploymentPackage
Non-breaking changes
New AddSoftwareUpdate, RemoveSoftwareUpdate, ClearSoftwareUpdate, ClearExpiredSoftwareUpdate,
ClearSupersededSoftwareUpdate, RemoveExpired, RemoveSuperseded, and RefreshDistributionPoint
parameters.
Set-CMSoftwareUpdatePointComponent
Non-breaking changes
New parameters for configuring company (AddCompany/RemoveCompany), product
(AddProduct/RemoveProduct), and product family (AddProductFamily/RemoveProductFamily)
subscriptions.
Set-CMTaskSequence
Non-breaking changes
New AddOperatingSystemPlatform, RemoveSupportedOperatingSystemPlatform, and RunOnAnyPlatform
parameters for configuring the supported platforms for a task sequence.
Start-CMContentDistribution
Non-breaking changes
Performance improvements.
Start-CMTaskSequenceDeployment
Bugs that were fixed
Cmdlet does not enforce uniqueness on the specified deployment collection.
Non-breaking changes
New CollectionId and Collection parameters to support more flexibility in specifying the deployment
collection.
Update-CMDistributionPoint
Bugs that were fixed
Pipelined distribution point may be disposed.