Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Description of Windows PowerShell changes in Cumulative Update 1 for System Center 2012 R2 Configuration Manager


View products that this article applies to.

Summary

This article describes the Windows PowerShell issues that are fixed in Cumulative Update 1 (CU1) for Microsoft System Center 2012 R2 Configuration Manager. Other CU1 fixes are described in the following Microsoft Knowledge Base article:

2938441 Description of Cumulative Update 1 for System Center 2012 R2 Configuration Manager

↑ Back to the top


More Information

Issues that are fixed

  • Objects that are passed as an -InputObject (or equivalent) parameter to a cmdlet become "null" afterward.
  • Cmdlets that warn without failing or that silently fail when error conditions are hit do not stop the pipeline as expected.
  • Cmdlets that perform actions on site objects silently fail when the site object does not exist. This problem leads to scripts and Automation entering an undefined state. Be aware that this problem does not affect Get- cmdlets. They do not fail if no objects that match search criteria are found.
  • Add-CMDeploymentType -DeepLinkInstaller does not add the deployment type.
  • Start-CMSoftwareUpdateDeployment does not set the correct deployment options when the -DisableOperationsManagerAlert or the -GenerateOperationsManagerAlert parameter is used.
  • The Save-CMSoftwareUpdate cmdlet fails with errors that resemble the following:

    Save-CMSoftwareUpdate : The given key was not present in the dictionary.
    At line:1 char:1
    + Save-CMSoftwareUpdate -DeploymentPackageName "Contoso-Package" -SoftwareupdateNa ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Save-CMSoftwareUpdate], KeyNotFoundException
    + FullyQualifiedErrorId : System.Collections.Generic.KeyNotFoundException,Microsoft.ConfigurationManagement.Cmdlet
    s.Sum.Commands.SaveSoftwareUpdateCommand


    Be aware that the fixed cmdlet runs only in 32-bit Windows PowerShell.

  • New-CMProgram does not accept -PackageID as an input parameter.
  • Remove-CMUser -InputObject parameter does not accept the object output from Get-CMUser.
  • New-CMDeviceCollectionVariable requires the executing user have read rights to the "All Systems" collection.
  • New-CMSoftwareMeteringRule and Set-CMSoftwareMeteringRule require access to the metered file to be able to create a metering rule.
  • The Administrator Console must be started at least one time on a given computer before the SMS Provider PowerShell Drive can be created.
  • The Distribute Content option is disabled in the Administrator Console for objects that are created by using New-CMOperatingSystemInstaller or New-CMOperatingSystemImage.
  • Set- cmdlets that change site server roles require both -SiteCode and -SiteSystemServerName instead of just -SiteSystemServerName as expected.
  • New-CMMigrationJob fails with an "Invalid Query" error message that resembles the following:

    Throw exception:
    New-CMMigrationJob : ConfigMgr Error Object:
    instance of __ExtendedStatus
    {
    Operation = "ExecQuery";
    ParameterInfo = "SELECT * WHERE DependencyType = 1";
    ProviderName = "WinMgmt";
    };
    Error Code:
    InvalidQuery
    At line:1 char:1

Additional changes

  • The -Verbose switch for most cmdlets will now output information about the query that is run.

    Note If a cmdlet is not functioning as expected, the -Verbose switch unusually will provide information about the actual WMI query that is being run against the SMS Provider back-end. This information is very useful for troubleshooting and should be provided when this is possible when you file Connect feedback items.

  • When you are piping the output of a Configuration Manager cmdlet into Select-Object (select), correct casing is no longer required for the selection arguments.
  • Wildcard characters are not supported in queries.
  • The following list represents cmdlets that had additional targeted fixes. Because of additional changes to the underlying Windows PowerShell framework code that is used by these cmdlets, those that are not listed may also have changed behavior. Make sure that your scripts and Automation continue to function as expected.
    • Add-CMBoundaryToGroup
    • Add-CMDeploymentType
    • Add-CMStateMigrationPoint
    • Get-CMApplicationCatalogWebServicePoint
    • Get-CMApplicationCatalogWebsitePoint
    • Get-CMEndpointProtectionPoint
    • Get-CMEnrollmentPoint
    • Get-CMEnrollmentProxyPoint
    • Get-CMFallbackStatusPoint
    • Get-CMOutOfBandServicePoint
    • Get-CMReportingServicePoint
    • Get-CMSiteStatusMessage
    • Get-CMSoftwareDistributionComponent
    • Get-CMSoftwareUpdatePoint
    • Get-CMStateMigrationPoint
    • Get-CMSystemHealthValidatorComponent
    • Import-CMComputerInformation
    • New-CMActiveDirectoryForest
    • New-CMDeviceCollectionVariable
    • New-CMMigrationJob
    • New-CMOperatingSystemInstaller
    • New-CMProgram
    • New-CMSoftwareMeteringRule
    • Remove-CMBoundaryFromGroup
    • Remove-CMDeploymentType
    • Remove-CMUser
    • Restore-CMApplicationRevisionHistory
    • Save-CMSoftwareUpdate
    • Set-CMADForest
    • Set-CMBootImage
    • Set-CMDeploymentType
    • Set-CMDiscoveryMethod
    • Set-CMExchangeServer
    • Set-CMGlobalCondition
    • Set-CMHierarchySetting
    • Set-CMManagementPoint
    • Set-CMMigrationExclusionList
    • Set-CMPackageDepoyment
    • Set-CMSiteMaintenanceTask
    • Set-CMSoftwareDistributionComponent
    • Set-CMSoftwareMeteringRule
    • Set-CMTaskSequenceDeployment
    • Start-CMContentDistribution
    • Start-CMDistributionPointUpgrade
    • Start-CMSoftwareUpdateDeployment
    • Update-CMDistributionPoint

In some limited cases, cmdlets may have had parameters removed or changed. This represents a breaking change to existing scripts or Automation. If a cmdlet no longer works because of a parameter binding error, make sure that the parameter that you were using was not renamed or removed.

Known issues

The following symptoms can occur even after Cumulative Update 1 is installed. Alternative solutions are listed where they are available. These issues may be resolved in future versions of Configuration Manager.
  • Install-CMClient will not target all computers in a collection when the -CollectionID parameter is used.

    To work around this issue, retrieve a set of devices by using Get-CMDevice -CollectionID, and pass each instance into Install -CMDevice -Device. For example, run the following command:

    Get-CMDevice -CollectionName MyCollection | foreach { Install-CMClient -Device $_ -IncludeDomainController $false -AlwaysInstallClient $false -ForceReinstall $false -SiteCode PSS }

  • Start-CMDistributionPointUpgrade does not work with secondary sites.

    To work around this issue, perform the task by using the Administrator Console.

  • Save-CMSoftwareUpdate cmdlet does not work in a 64-bit Windows PowerShell environment.

    To work around this issue, use a 32-bit version of Windows PowerShell or ISE.

  • New-CMVirtualEnvironmentGroup result does not show in the Administrator Console.

    To work around this issue, perform the task by using the Administrator Console.

  • Set-CMSite -Comment parameter causes cmdlets to fail.

    To work around this issue, perform the task by using the Administrator Console.

  • Remove-CMDeploymentType will not fail when you try to remove a deployment type that does not exist.

    To work around this issue, use Get-CMDeploymentType to validate if the deployment type exists before you try to remove it.

  • New-CMSecondarySite creates a distribution point that cannot be configured through the Administrator Console when you use a self-signed certificate.

    To work around this issue, use any of the following procedures instead of the New-CMSecondarySite cmdlet:
    • Configure the secondary site by using a certification authority issued certificate.
    • Use Set-CMDistributionPoint to configure the distribution point after the secondary site is installed.
    • Remove the secondary site's distribution point, and add a new one after the secondary site is installed.
  • Some cmdlets may stop working after you use the New-CMTaskSequence cmdlet.

    To work around this issue, restart Windows PowerShell.
  • Start-CMApplicationDeployment fails when it is used with Windows Store applications because the expectation is that the content exists on a distribution point.

    To work around this issue, perform the task by using the Administrator Console.

↑ Back to the top


Keywords: kbqfe, kbfix, kbsurveynew, kbexpertiseinter, kb, SCCM

↑ Back to the top

Article Info
Article ID : 2932274
Revision : 2
Created on : 4/26/2017
Published on : 4/26/2017
Exists online : False
Views : 608