使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

摘要

本文介绍 Microsoft System Center 2012 R2 Configuration Manager的累积更新 4 (CU4) 中包含的Windows PowerShell更改。 以下 Microsoft 知识库文章中介绍了其他 CU4 修补程序:

3026739 2012 System Center R2 Configuration Manager累积更新 4 的说明

已修复的问题

  • Add-CMDeploymentType

    • 使用用于导入其信息 ((如 AppV) )的部署类型时,将忽略 DeploymentTypeName 参数。

    • WindowsPhoneStoreInstaller 参数会创建错误的部署类型。 这是累积更新 1 的回归。

    • 对于以下部署类型,可以错误地指定无效位置:

      • Windows Phone Microsoft Store

      • Google Play Store

      • Apple Microsoft Store

    • 可以将以下内容配置为 DownloadContentAsStreaming:

      • MSI 部署

      • Windows .appx 类型 OnSlowNetworkMode 值



  • 不能在设备上设置非主要用户的 Add-CMDeviceAffinityToUser

    用户设备相关性。 例如,此类用户可以是通过 Active Directory 发现的用户。

  • Add-CMDistributionPoint

    可以指定过期的 CertificateExpirationTimeUtc。

  • 不根据可接受的范围 (100 到 100,000) 验证 Add-CMFallbackStatusPoint

    StateMessageNum 值。

  • 如果 ExportFilePath 格式意外,则会报告 Export-CMPackage

    错误。

  • Get-CMSoftwareUpdate

    缺少允许按 ID 值查询软件更新的 ID 参数。

  • 如果未指定 Name 参数,则不会返回 Get-CMStatusFilterRule

    结果。

  • Get-CMUser

    • (SMS_CombinedUserResources或基于SMS_Collection的对象) 返回不一致的对象类型,具体取决于输入参数。 这是System Center 2012 R2 Configuration Manager版本的回归。 有关此修补程序如何影响你的详细信息,请参阅“重大更改”部分中的Get-CMUser注释。

    • 使用 Name 或 ResourceId 时,将匹配非用户对象。

    • 不查询SMS_CombinedUserResource记录的“SMSID”和“名称”值。 这是累积更新 2 的回归。



  • Import-CMCertificate

    无法读取由 Path 参数指定的证书。 这是累积更新 2 的回归。

  • New-CMActiveDirectoryForest

    无法创建新的 Active Directory 林对象。 这是累积更新 2 的回归。

  • New-CMBoundary

    无针对 Type 的 Value 参数的验证。 这允许无效的边界配置。

  • 创建具有“Default”类型参数的客户端设置时,将报告 New-CMClientSetting

    错误。

  • New-CMCollectionVariable

    无法将新变量添加到具有预先存在的变量的集合。 这是累积更新 2 的回归。

  • 可以指定 New-CMSecondarySite

    过期的 CertificateExpirationTimeUtc。

  • Remove-CMDeviceCollection

    允许在将非设备集合与 InputObject 或管道配合使用时将其删除。

  • Remove-CMUserCollection

    允许在将非用户集合与 InputObject 或管道配合使用时将其删除。

  • Set-CMAssetIntelligenceSynchronizationPoint

    无法通过将 CertificateFile 设置为“$null”来清除资产智能代理证书。

  • Set-CMBoundary

    值参数未根据边界类型或类型参数验证正确的语法。 这允许无效的边界配置。

  • 运行此 cmdlet 后,Set-CMClientPushInstallation

    连续 cmdlet 执行失败。

  • Set-CMDeploymentType

    • 如果尝试设置应用程序中不存在的部署类型,Cmdlet 将无提示失败。

    • 允许将 MSI 部署或Windows .appx 类型 OnSlowNetworkMode 值配置为 DownloadContentAsStreaming。

    • 如果尝试更改 cmdlet 无法识别的部署类型安装程序,则 Cmdlet 将以无提示方式失败。



  • Set-CMDeviceCollection

    允许在将非设备集合与 InputObject 或管道配合使用时进行配置。

  • Set-CMDistributionPoint

    • 可以指定过期的 CertificateExpirationTimeUtc。

    • AllowFallbackForContent 值不适用于分发点。



  • Set-CMFileReplicationRoute

    FileReplicationAccountName 在某些情况下无法正确验证用户名。

  • Set-CMStateMigrationPoint

    AllowFallbackForContent 值不适用于状态迁移点。

  • Set-CMSystemHealthValidatorPointComponent

    无法通过为 PublishAccount 和 QueryAccount 设置 null 或空值来清除 Active Directory 发布或查询帐户。

  • Set-CMUserCollection

    允许在将非用户集合与 InputObject 或管道配合使用时进行配置。

  • "开始"菜单-CMDistributionPointUpgrade

    可以指定过期的 CertificateExpirationTimeUtc。

  • Update-CMCertificate

    无法读取 Path 参数指定的证书。 这是累积更新 2 的回归。


其他更改

新建 cmdlet

  • Add-CMDeploymentTypeDependency

    将部署类型作为依赖项添加到依赖项组。 Required input is a deployment type object from Get-CMDeploymentType and a dependency group from [Get|New]-CMDeploymentTypeDependencyGroup.

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    New-CMDeploymentTypeDependencyGroup -GroupName MyGroup |
    Add-CMDeploymentTypeDependency -DeploymentTypeDependency'
    (Get-CMDeploymentType -ApplicationName MyChildApp) '
    -IsAutoInstall $true


  • Add-CMDeploymentTypeSupersedence

    将一种部署类型设置为取代另一种部署类型。 所需输入是从 Get-CMDeploymentType Get-CMDeploymentType和取代部署类型的取代类型。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Add-CMDeploymentTypeSupersedence -SupersedingDeploymentType'
    (Get-CMDeploymentType -ApplicationName MySupersedingApp)


  • ConvertFrom-CMApplication

    将 AppMgmt SDK“Application”对象转换为用于插入短信提供程序的SMS_Application对象。 请注意,这只会创建SMS_Application实例。 由调用代码实际将其插入到 WMI 中。

    例子

    $app = Get-CMApplication -Name MyApp |
    ConvertTo-CMApplication
    # (placeholder code to make changes against $app object)
    $obj = ConvertFrom-CMApplication -Application $app
    $obj.Put()




  • ConvertFrom-CMConfigurationItem

    将 DCM 对象模型 SDK ConfigurationItem 或派生对象转换为 XML 字符串。

    例子

    $rule = Get-CMConfigurationItem | ConvertTo-CMConfigurationItem
    $xml = ConvertFrom-CMConfigurationItem -ConfigurationItem $rule



  • ConvertTo-CMApplication

    将SMS_Application或SMS_DeploymentType转换为 AppMgmt SDK“Application”对象。 可以使用ConvertFrom-CMApplication cmdlet 转换回“SMS_Application”。

    例子

    $app = Get-CMApplication -Name MyApp | ConvertTo-CMApplication



  • ConvertTo-CMConfigurationItem

    将基于 CI 的对象从短信提供程序或 XML 字符串转换为派生自 ConfigurationItem 的 DCM 对象模型 SDK 对象。

    例子

    Get-CMConfigurationItem |ConvertTo-CMConfigurationItem


  • Get-CMCertificate

    获取为站点存储的证书。 这些可以是 ISV 代理、启动介质或分发点证书。 此 cmdlet 的输出可以管道到其他证书 cmdlet,如 Block-CMCertificate。 请注意,使用指纹进行的查询可能比其他查询慢,尤其是使用大型结果集。

    例子

    $bootmedia = Get-CMCertificate -CertificateType BootMedia


  • Get-CMDeploymentTypeDependency

    从依赖项组获取现有的依赖部署类型。 必需输入是 Get-CMDeploymentTypeDependencyGroup 中的依赖项组对象。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Get-CMDeploymentTypeDependencyGroup -GroupName MyGroup |
    Get-CMDeploymentTypeDependency

  • Get-CMDeploymentTypeDependencyGroup

    获取现有的部署类型依赖项组。 可以使用 Add-CMDeploymentTypeDependency 或 Remove-CMDeploymentTypeDependency 进行更改。 必需输入是 Get-CMDeploymentType 中的部署类型对象。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Get-CMDeploymentTypeDependencyGroup

  • Get-CMDeploymentTypeSupersedence

    会取代被取代的部署类型。 所需的输入是被取代的部署类型。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Get-CMDeploymentTypeSupersedence

  • Get-CMMigrationSource

    获取迁移的源层次结构的信息。 可以与Sync-CMMigrationSource一起使用来查看迁移状态。

    例子

    Get-CMMigrationSource |选择状态

  • Get-CMObjectSecurityScope

    获取与指定 InputObject 关联的所有安全作用域。 这可用于任何使用安全作用域的对象。

    例子

    Get-CMSoftwareUpdateGroup |Get-CMObjectSecurityScope
    Get-CMBoundaryGroup |Get-CMObjectSecurityScope

  • Get-CMQuery

    获取查询。

    例子

    Get-CMQuery - 命名为“所有个人设备”

  • Get-CMSiteDefinition

    从SMS_SiteDefinition类获取站点定义信息。 这包含各种站点范围和配置设置。

    例子

    Get-CMSiteDefinition -SiteCode PRI

  • Get-CMSiteRole

    从站点服务器或站点服务器获取站点角色列表。

    例子

    Get-CMSiteRole -SiteSystemServerName myserver.contoso.com

  • Get-CMSupportedPlatforms

    获取支持的平台列表。 可用于导入到 Import-CMDriver 中的管道。

    例子

    Get-CMSupportedPlatforms -Name 'all Windows*'

  • Invoke-CMQuery

    调用查询并返回结果。

    例子

    Get-CMQuery -命名“我的系统”|Invoke-CMQuery

  • Invoke-CMSystemDiscovery

    指示站点尽快启动 Active Directory 系统发现。

    例子

    Invoke-CMSystemDiscovery -SiteCode ABC

  • Invoke-CMUserDiscovery

    指示网站尽快启动 Active Directory 用户发现。

    例子

    Invoke-CMUserDiscovery -SiteCode ABC

  • Invoke-GroupDiscovery

    指示站点尽快启动 Active Directory 组发现。

    例子

    Invoke-CMGroupDiscovery -SiteCode ABC

  • New-CMADGroupDiscoveryScope

    创建一个对象,该对象可用于将 Active Directory 组发现范围与 Set-CMDiscoveryMethod 一起配置。

    例子

    Set-CMDiscoveryMethod -ActiveDirectoryGroupDiscovery '
    -AddGroupDiscoveryScope (New-CMADGroupDiscoveryScope '
    -name MyScope -SiteCode R2s -LdapLocation '
    “LDAP://CN=ScopeLocation,DC=contoso,DC=com”-RecursiveSearch $true)

  • New-CMDeploymentTypeDependencyGroup

    创建抽象部署类型依赖项组。 必须使用 Add-CMDeploymentTypeDependency 添加到现有部署类型。 必需输入是 Get-CMDeploymentType 中的部署类型对象。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    New-CMDeploymentTypeDependencyGroup -GroupName MyGroup

  • New-CMEmbeddedObjectInstance

    对于高级用例,你必须直接从短信提供程序或对象查询操作结果对象。 创建临时类的新嵌入对象。 请注意,对于“SMS_EmbeddedProperty”或“SMS_EmbeddedPropertyList”类型,有New-CMEmbeddedProperty和 New-CMEmbeddedPropertyList。

    例子

    $prop = New-CMEmbeddedObjectInstance -ClassName “SMS_EmbeddedProperty”

  • New-CMEmbeddedProperty

    对于高级用例,你必须直接从短信提供程序或对象查询操作结果。 创建新的SMS_EmbeddedProperty实例,还可以设置值。

    例子

    $dp = Get-CMDistributionPoint -SiteSystemServerName mydp001.contoso.com
     $embeddedProperty = New-CMEmbeddedProperty -PropertyName "UpdateBranchCacheKey" -Value 1
     $props = $dp.EmbeddedProperties
     $props["UpdateBranchCacheKey"] = $embeddedProperty
     $dp.EmbeddedProperties = $props
     $dp.Put()


  • New-CMEmbeddedPropertyList

    对于高级用例,你必须直接从短信提供程序或对象查询操作结果对象。 创建新的SMS_EmbeddedPropertyList实例,还可以设置值。

    例子

    $propList = New-CMEmbeddedPropertyList -PropertyListName MyList -Values (“abc”、“def”、“xyz”)

  • New-CMQuery

    创建新查询。

    例子

    New-CMQuery -Name “My Systems” -Expression '
    “select * from SMS_R_System where Name LIKE 'ABC%'

  • Remove-CMCollection

    按值删除固定集合,可以使用而不是Remove-CMUserCollection和Remove-CMDeviceCollection进行集合删除。

    例子

    Get-CMUserCollection -Name MyCollection |Remove-CMCollection -Force
    Get-CMDeviceCollection -Name MyDeviceCollection |
    Remove-CMCollection -Force

  • Remove-CMDeploymentTypeDependency

    从部署类型依赖项组中删除部署类型依赖项。 如果删除依赖项导致组不再具有依赖项,则会删除该组。 所需的输入是来自Get-CMDeploymentType或Get-CMDeploymentTypeDependency的部署类型对象,以及 Get-CMDeploymentTypeDependencyGroup 中的依赖项组。

    例子

    $dpGroup = Get-CMDeploymentType -ApplicationName MyApp |
    Get-CMDeploymentTypeDependencyGroup -GroupName MyGroup '
    $dpDeps = Get-CMDeploymentTypeDependency -Group $dpGroup
    Remove-CMDeploymentTypeDependency -Group $dpGroup '
    -DeploymentTypeDependency $dpDeps[1] -Force

  • Remove-CMDeploymentTypeDependencyGroup

    从部署类型中删除部署类型依赖项组 (及其依赖项) 。 必需输入是 Get-CMDeploymentTypeDependencyGroup 中的依赖项组。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Get-CMDeploymentTypeDependencyGroup -GroupName MyGroup |
    Remove-CMDeploymentTypeDependencyGroup -Force

  • Remove-CMDeploymentTypeSupersedence

    从被取代的部署类型中删除取代部署类型。 所需的输入是从 Get-CMDeploymentType Get-CMDeploymentType或Get-CMDeploymentTypeSupersedence和取代部署类型的取代类型。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Remove-CMDeploymentTypeSupersedence -SupersedingDeploymentType '
    (Get-CMDeploymentType -ApplicationName MySupersedingApp)

  • Remove-CMQuery

    删除查询。

    例子

    Get-CMQuery -命名“我的系统”|Remove-CMQuery -Force

  • Set-CMDeploymentTypeDependencyGroup

    配置部署类型组的设置。 必需输入是 Get-CMDeploymentTypeDependencyGroup 中的依赖项组。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Get-CMDeploymentTypeDependencyGroup -GroupName MyGroup |
    Set-CMDeploymentTypeDependencyGroup -NewName MyNewGroup

  • Set-CMDeploymentTypeSupersedence

    配置部署类型取代的设置。 所需的输入是从 Get-CMDeploymentType Get-CMDeploymentType或Get-CMDeploymentTypeSupersedence和取代部署类型的取代类型。

    例子

    Get-CMDeploymentType -ApplicationName MyApp |
    Set-CMDeploymentTypeSupersedence -SupersedingDeploymentType'
    (Get-CMDeploymentType -ApplicationName MySupersedingApp) '
    -IsUninstall $true

  • Set-CMQuery

    配置查询。

    例子

    Get-CMQuery -命名“我的系统”|
    Set-CMQuery -NewName“My ABC Systems”

  • Sync-CMMigrationSource

    为迁移的源层次结构启动同步。

    例子

    Sync-CMMigrationSource


非中断性更改

这些更改表示对现有 cmdlet 的改进。 这些是额外的更改,不应导致现有自动化的兼容性问题。

  • Add-CMDeploymentType

    • 要求规则的新可选参数:AddRequirement。 必须使用 DCM 对象模型 SDK 创建规则。

    • 新的可选参数:应用程序。 接受来自Get-CMApplication的输入作为 ApplicationName 的替代方法。



  • 添加了 Add-CMDistributionPoint

    New EnableBranchCache 参数,以启用新分发点的分支缓存。

  • Add-CMFallbackStatusPoint

    ThrottleInterval 和 StateMessageNum 参数不再必需。 如果未定义任何值,则默认值将用于 ThrottleInterval (3,600) 和 StateMessageNum (10,000) 。

  • Block-CMCertificate

    New Certificate 参数,用于从 Get-CMCertificate 进行管道处理对象。

  • Clear-CMClientOperation

    接受 Get-CMClientOperation 输入的新可选操作参数。

  • Disable-CMStatusFilterRule

    Name 参数现在接受通配符值。

  • Enable-CMStatusFilterRule

    Name 参数现在接受通配符值。

  • Export-CMSecurityRole

    按 name (RoleName) 或按值 (角色) 导出安全角色的其他支持。

  • Get-CMAppV5XDeploymentTypeItem

    Now 接受 Get-CMDeploymentType 的管道输入。

    例子

    Get-CMDeploymentType -ApplicationName “MyApp” '
    -DeploymentTypeName “AppV5X” |Get-CMAppV5XDeploymentTypeItem

  • Get-CMClientPushInstallation

    不再需要必需的搜索参数来查找客户端推送安装详细信息。

  • Get-CMDeploymentType

    Can 管道结果对象从Get-CMApplication获取部署类型。

    例子

    Get-CMApplication -Name “Contoso App” |
    Get-CMDeploymentType s-Name “MSI Installer”

  • Get-CMManagementPointComponent

    不再需要必需的 SiteCode 和 SiteSystemName 参数。

  • Get-CMSoftwareUpdate

    将新的可选 OnlyExpired 参数设置为范围查询,以仅获取过期的更新,以便更快的查询。

  • Get-CMStatusFilterRule

    Name 参数现在接受通配符值。

  • 使用大型结果集改进 Get-CMUser

    性能。

  • 使用 ComputerName 时,可以定义 Import-CMComputerInformation

    SmBiosId 和 MacAddress,而无需同时定义这两者。 如果两者均未定义,则 cmdlet 将失败。

  • Import-CMDriver

    • 新的可选 ImportFolder 参数,指示应处理使用 UncFileLocation 指定的文件夹中的所有驱动程序。

    • 新的可选 SupportedPlatforms 参数,它接受来自Get-CMSupportedPlatforms的输入,用于设置驱动程序支持的平台。



  • Lock-CMObject

    Now 通过管道接受对象。

    例子

    Get-CMDriverPackage |Lock-CMObject

  • New-CMApplication

    新建可选 DisplaySupersedencesInApplicationCatalog 参数可切换在应用程序目录中显示取代项的功能。

  • New-CMMaintenanceWindow

    新建可选集合参数接受 Get-CMCollection 的输入。

  • 添加了 New-CMSecondarySite

    New EnableBranchCache 参数,为辅助站点分发点启用分支缓存。

  • Remove-CMApplicationRevisionHistory

    接受来自Get-CMApplicationRevisionHistory的管道输入,以删除特定的应用程序修订版。

    例子

    Get-CMApplicationRevisionHistory -Name “Contoso App” -Revision 2 |
    Remove-CMApplicationRevisionHistory

  • Remove-CMClientOperation

    新建可选操作参数接受 Get-CMClientOperation 的输入。

  • Remove-CMDeployment

    New 可选部署参数接受Get-CMDeployment中允许删除更新、包、操作系统和应用程序部署的对象。

    请注意,DeploymentId 和 ApplicationName 将继续仅支持应用程序部署。 此行为在将来的版本中可能会发生更改。

  • 从 Get-CMDeploymentType 使用 DeploymentType 或管道时,不再需要 Remove-CMDeploymentType

    ApplicationName 参数。

  • Remove-CMMaintenanceWindow

    新建可选集合参数接受 Get-CMCollection 中的输入。

  • Remove-CMStatusFilterRule

    Name 参数现在接受通配符值。

  • Set-ClientPushInstallation

    Now 支持从 Get-CMClientPushInstallation 进行管道处理。

  • Set-CMApplication

    新建可选 DisplaySupersedencesInApplicationCatalog 参数可切换在应用程序目录中显示取代项的功能。

  • Set-CMDeploymentType

    • 要求规则的新可选参数:

      • AddRequirement

      • RemoveRequirement

      • ClearRequirements

      必须使用 DCM 对象模型 SDK 创建规则。
      NoteRemoveRequirement 输入必须与部署类型中要求规则的 RuleId 值匹配。 否则,不会将其删除。

    • 如果使用 DeploymentType 输入对象,则 ApplicationName 不再是必需的参数。

    • 现在支持从 Get-CMDeploymentType 进行管道处理。


    例子

    Get-CMDeploymentType -ApplicationName sccmapp '
    -DeploymentTypeName adberdr934_4.6.33.315 |
    Set-CMDeploymentType -AppV5xInstaller -OnSlowNetworkMode DoNothing

  • Set-CMDiscoveryMethod

    • 使用 ActiveDirectoryGroupDiscovery 配置组发现时的新可选参数:

      • AddGroupDiscoveryScope

      • RemoveGroupDiscoveryScope

    • AddGroupDiscoveryScope 需要由New-CMADGroupDiscoveryScope cmdlet 创建的输入。

    • RemoveGroupDiscoveryScope 需要字符串匹配范围名称。



    例子

    Set-CMDiscoveryMethod -ActiveDirectoryGroupDiscovery '
    -AddGroupDiscoveryScope (New-CMADGroupDiscoveryScope '
    -name MyScope -SiteCode R2S -LdapLocation '
    “LDAP://CN=ScopeLocation,DC=contoso,DC=com” -RecursiveSearch $true)

  • 添加了 Set-CMDistributionPoint

    New EnableBranchCache 参数,用于在分发点上配置分支缓存。

  • Set-CMMaintenanceWindow

    新建可选集合参数接受来自 Get-CMCollection 的输入。

  • Set-CMManagementPointComponent

    Now 接受来自以下 cmdlet 的管道输入:

    • Get-CMSiteDefinition (新的 cmdlet)

    • Get-CMManagementPoint

    • Get-CMSite

    • Get-CMManagementPointComponent



  • Set-CMPackage

    • 用于更改分发 (预留、多播) 和数据源的新可选参数 (包更新) 属性,以匹配管理控制台属性表。

    • 重命名了多个参数以获得清晰度和一致性。 这些新命名的参数别名为旧名称,以保持兼容性。



  • Unblock-CMCertificate

    New Certificate 参数允许通过 Get-CMCertificate 对对象进行管道处理。

  • Unlock-CMObject

    Now 通过管道接受对象。

    例子

    Get-CMDriverPackage |Unlock-CMObject

  • Update-CMCertificate

    • 新的可选 Force 参数可防止提示覆盖现有证书。

    • 新的证书参数允许通过 Get-CMCertificate 对对象进行管道处理。


所有 cmdlet 的重要信息

新的可选参数 DisableWildcardHandling 和ForceWildcardHandling-DisableWildcardHandling允许 cmdlet 和参数支持通配符 (“*”或“?”) 要强制将参数分析为文本值而不是通配符值的值。

请考虑以下方案:你有两个应用程序:“我的 IT 应用程序”和“My*Application”。 cmdlet Get-CMApplication -Name My*Application 将返回“我的 IT 应用程序”和“My*Application”。 如果意图是仅检索“My*Application”,则可以将 DisableWildcardHandling 添加到 cmdlet 参数以检索匹配项。

  • ForceWildcardHandling 参数还原 R2 CU1 前的行为,并允许将许多基于字符串的 cmdlet 参数参数参数识别为通配符值而不是文本值。 此参数可能导致 cmdlet 以意外或不受支持的方式运行,并且应非常小心地使用。

  • 当这些参数更改内部查询行为时,将向 PowerShell 输出流写入警告消息。

  • 请注意,尽管所有Configuration Manager cmdlet 都支持这些新参数,但在所有情况下都不得使用或遵守这些参数。

  • 不能同时使用 DisableWildcardHandling 和 ForceWildcardHandling 参数。 如果同时使用这两个参数,则 cmdlet 执行会失败。



其他重大的非中断性更改
  • 在创建、修改、删除和保存提供程序对象短信启用 Verbose 时改进了日志记录。

  • 提高了站点系统用户帐户查询的效率。

  • 使用已弃用的 cmdlet 或参数可能会导致将警告写入Windows PowerShell控制台。 已弃用的 cmdlet 或参数可能会在将来的版本中删除,并且应尽快停止使用它们。



将来可能会删除已弃用的 cmdlet 和参数 ()

应尽快停止使用这些已弃用的参数,以避免将来版本中可能发生重大更改。

请注意,使用已弃用的 cmdlet 或参数可能会导致将警告写入Windows PowerShell控制台。

  • Add-CMDeploymentType

    • 创建以下部署类型时,不再使用 ForceForUnknownPublisher 参数:

      • Apple Microsoft Store

      • Windows Phone 8

      • Google Play

    • 创建以下部署类型时,不再使用 AutoIdentifyFromInstallationFile 参数:

      • 应用程序虚拟化 5

      • Web 应用

      • Apple Microsoft Store

      • Windows Phone 8

      • Google Play

    • 对于多种部署类型,不再需要 AutoIdentifyFromInstallationFile 参数。

    • 不再需要 ForceForUnknownPublisher 参数。

    • ManualSpecifyDeploymentType 参数不再需要,也不会影响部署类型创建。



  • Get-CMClientOperations

    替换为Get-CMClientOperation (单数命名与复数命名) ,以实现与其他 Verb-CMClientOperation cmdlet 的一致性。 功能没有变化。

  • Get-CMManagementPointComponent

    替换为Get-CMSiteDefinition cmdlet。 此 cmdlet 在功能上与Get-CMManagementPoint相同,并已弃用以消除混淆。

  • Import-CMDriver

    SupportedPlatformName 已弃用。 应改用 SupportedPlatforms。 可以使用 Get-CMSupportedPlatform cmdlet 检索 SupportedPlatforms 值。 不支持同时使用 SupportedPlatformName 和 SupportedPlatforms。

  • 从 Get-CMDeploymentType 使用 DeploymentType 或管道时,不再需要 Remove-CMDeploymentType

    ApplicationName 参数。

  • Set-CMAssetIntelligenceSynchronizationPoint

    EnableSynchronization 参数已弃用。 将 ScheduleToken 设置为$null以禁用计划的同步。

  • 不应使用 Set-CMClientPushInstallation

    Name 参数。 应改用 SiteCode 将输出范围限定到特定站点。

  • Set-CMDeploymentType

    OnFastNetworkMode 值 RunFromNetwork 替换为 DownloadContentForStreaming。

  • 将弃用 Set-CMSystemHealthValidatorPoint

    日期和时间参数,而不是 StatementOfHealthStartTime 参数。

  • Start-CMPackageDeployment

    • DeploymentStartDay 和 DeploymentStartTime 将替换为单用途 DeploymentStartDateTime 以设置日期和时间。

    • DeploymentAvailableDay 和 DeploymentAvailableTime 将替换为单用途 DeploymentAvailableDateTime 以设置日期和时间。

    • DeploymentExpireDay 和 DeploymentExpireTime 将替换为单用途 DeploymentExpireDateTime,以设置日期和时间。




重要说明:应停止在受支持的 cmdlet 中使用 SecuredScopeNames 参数,并改用Get-CMObjectSecurityScope。

重大更改

重大更改是对 cmdlet 行为或参数的修改,可能会导致与现有 PowerShell 自动化不兼容。 验证此处针对现有自动化所做的更改,以确保兼容性。

  • Add-CMDeploymentType

    Cmdlet 将不再允许添加与以前添加的部署类型具有相同显示名称的部署类型。 部署类型名称必须是唯一的。

  • Block-CMCertificate

    如果阻止证书时出错,则该 cmdlet 现在将失败,而不是打印警告消息。

  • Get-CMSoftwareUpdateGroup

    非功能性 SecuredScopeNames 参数已删除。

  • Get-CMUser

    在累积更新 1 中,Get-CMUser发生意外的行为更改,它将返回SMS_CombinedUserResource或基于SMS_Collection的对象。 System Center 2012 R2 Configuration Manager的发布版本的行为是仅返回基于SMS_Collection的对象。 此操作已更正。 这两个类中的数据相同,因为SMS_CombinedUserResource包含SMS_Collection数据的子集。 因此,这不应中断自动化。 然而,为了提高认识,这一点正在被披露。

  • Remove-CMSoftwareUpdateGroup

    非功能性 SecuredScopeNames 参数已删除。

  • Remove-CMUser

    如果因任何原因无法删除用户,cmdlet 将失败。 在以前的版本中,某些条件会导致 cmdlet 以无提示方式失败。

  • Set-CMBootImage

    如果将 cmdlet 与 Windows PE 3.1 或更早版本的启动映像配合使用,则以下不可应用参数将导致 cmdlet 失败:

    • EnablePrestartCommand

    • PrestartCommandLine

    • IncludeFilesForPrestart

    • PrestartIncludeFilesDirectory

    • BackgroundBitmapPath

    • ScratchSpace

    • EnableCommandSupport

    • PersistContentInCache

    • EnableBinaryDeltaReplication

    • DeployFromPxeDistributionPoint

    • DistributionPointUpdateSchedule

    • CustomPackageShareName

    • DisconnectUsersFromDistributionPoints

    • DisconnectUsersFromDistributionPointsRetries

    • DisconnectUsersFromDistributionPointsMinutes

    • AddOptionalComponents

    • RemoveOptionalComponents

    • CopyPackageToShareOnDistributionPoints



  • Set-CMBoundary

    不再为 ID 或 Name 启用多个输入值。

    解决方法

    :使用 Get-CMBoundary 中的循环或管道。

  • Set-CMSoftwareUpdateGroup

    非功能性 SecuredScopeNames 参数已删除。

  • 如果将 SynchronizeAction 设置为 SynchronizeFromAnUpstreamDataSourceLocation 而不指定 UpstreamSourceLocation 的值,Set-CMSoftwareUpdatePointComponent

    Cmdlet 将失败。

  • "开始"菜单-CMSoftwareUpdateDeployment

    如果尚未下载软件更新,Cmdlet 将失败而不是发出警告。



其他重大中断性变更

许多 cmdlet 为参数错误地配置了“ValueFromPipelineByPropertyName”。 此操作已更正。 尽管任何现有的自动化都不可能利用这一点,但我们注意到这一点是为了提高认识。

已知问题

此版本中未解决 cmdlet 的以下已知问题。

  • Set-CMAlertSubscription

    LocaleId 参数要求在系统上存在特定区域设置,而不是有效的区域设置。

  • Set-CMDeploymentType

    无法为以下部署类型配置内容设置:

    • Windows Phone

    • Apple App Store

    • Google Play



  • 当你尝试查找任务序列包引用时,New-CMVhd

    Cmdlet 返回“找不到”错误。 这是累积更新 2 的回归。

  • Get-CMAccessAccount

    UserName 在查询短信提供程序时执行区分大小写的匹配。

  • Set-CMSoftwareUpdatePoint

    DefaultWsusServer 参数更改不适用于软件更新点的 WSUS 配置。

  • Set-CMBootImage

    EnablePrestartCommand 和 PrestartCommandLine 值不应用于启动映像。

  • 无法在管理控制台中查看由 cmdlet 创建的 Add-CMManagementPoint

    管理点。

    解决 方案

    $mp = get-cmmanagementpoint -SiteSystemServerName yourmanagementpointfqdn
    $props = $mp。EmbeddedProperties
    $ep = $mp。ConnectionManager.CreateEmbeddedObjectInstance (“SMS_EmbeddedProperty”) $ep
    。PropertyName = “Authentication type”
    $props。删除 (“身份验证类型”)
    $props。添加 (“身份验证类型”,$ep) $mp
    。EmbeddedProperties = $props
    $mp。Put ()

  • 如果在运行 Set-CMStatusReportingComponent 后运行 Get-CMStatusReportingComponent

    ,则可能会失败。

  • "开始"菜单-CMSoftwareUpdateDeployment

    如果更新需要接受 Microsoft 软件许可条款,则 Cmdlet 将失败。

  • 新建 VHD 时,New-CMVhd

    Cmdlet 可能会失败,出现“找不到对象”错误。

  • 如果使用 EnrollmentPoint 参数,Set-CMOutOfBandManagementComponent

    Cmdlet 可能会失败。

  • Add-CMStateMigrationPoint

    AllowFallbackSourceLocationForContent 更改可能不适用于状态迁移点角色。

  • Add-CMOutOfBandServicePoint

    ThreadsOffset 值可能不适用于新创建的带外服务点。

    解决方法

    :运行 Add-CMOutOfBandServicePoint 后,请使用 Set-CMOutOfBandServicePoint -TransmissionStartMinutesInterval。


参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×