版本 1902 的 Configuration Manager Cmdlet 库更改

适用于:Configuration Manager (Current Branch)

注意

Configuration Manager Current Branch 版本 1810 是这些更改的基线。 有关详细信息,请参阅版本 1810 Configuration Manager Cmdlet 库更改

重要更改

New cmdlet

Get-CMBoundaryGroupSiteSystem

使用此 cmdlet 获取指定边界组中的站点系统。

Get-CMBoundaryGroupSiteSystem -Id $boundaryGroup.GroupID 

Get-CMDistributionPointDriveInfo

使用此 cmdlet 获取分发点驱动器信息。

$dp = Get-CMDistributionPoint -SiteSystemServerName $ReferenceSiteSystemServerName 
$dp | Get-CMDistributionPointDriveInfo     

Invoke-CMAnalyzePackage

使用此 cmdlet 分析特定包。

Invoke-CMAnalyzePackage -PackageName $packageName 

Invoke-CMConvertPackage

使用此 cmdlet 可将特定包转换为应用程序。

Invoke-CMConvertPackage -PackageName $packageName

New-CMScript

使用此 cmdlet 创建新的 PowerShell 脚本。 它仅支持不包含任何参数的脚本。

New-CMScript -ScriptName "CMScript" -ScriptText 'Write-Host "New Script"'
New-CMScript -ScriptName "ImportScript" -ScriptFile \\abc\importedscript.ps1

Set-CMClientSettingDeliveryOptimization

使用此 cmdlet 设置传递优化功能的客户端设置。

[Default] Set-CMClientSettingDeliveryOptimization -DefaultSetting -Enable $true
[Customized] Set-CMClientSettingDeliveryOptimization -Name $ReferenceClientDeviceSettingName -Enable $true

Set-CMClientSettingWindowsAnalytics

使用此 cmdlet 设置 Windows Analytics 功能的客户端设置。

[Default] Set-CMClientSettingWindowsAnalytics -DefaultSetting -Enable $true -CommercialIdKey $commercialIdKey -Win10Telemetry EnhancedLimited -EnableEarlierTelemetry $true -IEDataCollectionOption AllZones
[Customized] Set-CMClientSettingWindowsAnalytics -Name $ReferenceClientDeviceSettingName -Enable $true -CommercialIdKey $commercialIdKey -Win10Telemetry EnhancedLimited -EnableEarlierTelemetry $true -IEDataCollectionOption AllZones

已删除 cmdlet

已弃用的 cmdlet

已知问题

以下项是 Cmdlet 库的已知问题,未在此版本中解决。

Get-CMAadConditionalAccessPolicy和Set-CMAadConditionalAccessPolicy

这些 cmdlet 需要 64 位 PowerShell 环境。

解决方法

Import-CMSecurityRole

Cmdlet 可能会失败,并显示找到文件的 SecuredRoles.xsdDirectoryNotFoundException 错误。

解决方法

  • 针对ConfigurationManager.psd1文件(而不是逻辑路径或模块名称)调用Import-Module

Set-CMSoftwareUpdatePoint

即使基础 SMS 提供程序对象已更改,Configuration Manager控制台中也可能不会显示对 Schedule 的更改。

解决方法

  • 退出并重新启动Configuration Manager控制台。

资源跟踪和恢复 (beta)

此版本添加了新的 cmdlet,以支持跟踪 PowerShell 运行时使用的 SMS 提供程序对象,并在不再需要这些资源时清理这些资源。

  • Disconnect-CMTrackedObject
  • Start-CMObjectTracking
  • Stop-CMObjectTracking

运行 Start-CMObjectTracking时,PowerShell 运行时跟踪 IResultObject 由 Cmdlet 库 cmdlet 创建的对象。 对于未使用 .Dispose()手动清理的 cmdlet,请针对单个对象使用 Disconnect-CMTrackedObject 回收它们。

示例

# Reclaim a single tracked object
$o | Disconnect-CMTrackedObject

# Reclaim all tracked objects
Disconnect-CMTrackedObject -All

回收对象后,它不能再重复使用或通过对象管道传递给另一个 cmdlet。

Stop-CMObjectTracking 可用于关闭对象跟踪。 以前分配的对象保持活动状态。

未认领的资源可能会导致 SMS 提供程序引发配额冲突错误。 这些配额问题通常表现为使用大型 SMS 提供程序对象集或在长时间运行的环境中。

注意

此功能是实验性的,在将来的版本中可能会发生更改或删除。 它已选择加入,默认情况下未启用。

Cmdlet 更改

已对此版本中的现有 cmdlet 进行了以下更改。 更改可能是新功能、bug 修复或弃用。 某些更改可能会中断。 如果使用本节中列出的某个 cmdlet 或功能区域,请仔细查看更改,以了解它们如何影响你的使用。

Add-CMDeviceAffinityToUser

已修复的 Bug

  • Add/Remove-CMDeviceAffinityToUser -UserId/-UserName 需要同时使用“-DeviceId/-DeviceName”。

非中断性变更

  • 添加了对 -DeviceID 和 -DeviceName 的参数检查,用户应至少指定其中一个。

Add-CMDeviceCollectionDirectMembershipRule

已修复的 Bug

  • 在 PowerShell 中使用 Add-CMDeviceCollectionDirectMembershipRule 命令将同一资源添加到同一集合时,会显示空白警告“WARNING: ”,并且不会提供错误“具有指定名称的对象已存在”。

非中断性变更

  • 添加了缺少的资源。

Add-CMDistributionPoint

非中断性变更

  • 添加了“-EnableLedbat”参数以在 DP 上启用/禁用 LEDBAT

Add-CMScriptDeploymentType

已修复的 Bug

  • 默认情况下,Add-CMScriptDeploymentType UI 不一致

非中断性变更

  • 修改了初始化代码以与 UI 保持一致 (估计安装时间 = 0,仅当用户登录) 登录要求时。

Approve-CMApprovalRequest

非中断性变更

  • 添加了新的参数 InstallActionBehavior (有两个选项:InstallNow、InstallNonBusinessHours) ,管理员可以指定是立即安装应用程序,还是在非工作时间安装应用程序。 它是一个可选参数,默认情况下它等于“InstallNow”。

Get-CMDevice

已修复的 Bug

  • Get-CMDevice缺少 SMSAssignedSites 属性 - 这在 1806 年以前可用。

非中断性变更

  • 添加了两个新的开关参数,允许客户指定输出的 类:

    • -ReturnCollectionMember: 将强制返回 sms 集合成员类的实例
    • -ReturnResource: 将强制返回SMS_Resource类的实例。

    如果使用不带 ReturnCollectionMember/ReturnResource 的默认参数,则行为将与 1802/1810 相同:返回的实例可以位于具有不同指定参数的不同类中。

Get-CMPackage

已修复的 Bug

  • Get-CMPackage需要 -Fast 开关

非中断性变更

  • 添加了参数 -Fast 以支持快速查询。

Import-CMDriver

已修复的 Bug

  • Set-CMDriver -SupportedPlatformName 将失败的数组

非中断性变更

  • 修复了 SupportPlatformName 参数的数组值问题。

Invoke-CMScript

已修复的 Bug

  • Invoke-CMScript cmdlet 需要一个无法获取的对象。

非中断性变更

  • 更正了类型验证。

New-CMActiveDirectoryForest

已修复的 Bug

  • 创建 Active Directory 林 - 用户无法通过 Powershell 工作,仅当通过 GUI 创建时。

非中断性变更

  • 在用户设置凭据后,已将帐户导入全局帐户。
  • 添加了用于使用密码创建凭据的新参数 -Password。

New-CMApplication

已修复的 Bug

  • 用户无法使用 New-CMApplication cmdlet 指定空白的 Owner 或 SupportContact 参数

非中断性变更

  • 创建新应用程序时,允许所有者/SupportContact $null,默认值为当前用户。
  • 添加了 Owner/SupportContact 的新参数以支持数组输入。

New-CMApplicationDeployment

非中断性变更

  • 添加了新的参数 ReplaceToastNotificationWithDialog (布尔) ,管理员可以指定在客户端计算机上提供所需软件时是否将 toast 通知替换为对话框。 它是可选参数,默认情况下为 false。

New-CMCoManagementPolicy

非中断性变更

  • (DCWorkloadEnabled、O365WorkloadEnabled、ClientAppsWorkloadEnabled) 添加了对新工作负载的支持。

New-CMDetectionClauseWindowsInstaller

已修复的 Bug

  • Add/Set-CMMsiDeploymentType -AddDetectionClause 失败“表达式无效:操作数的数据类型不匹配或运算符对数据类型无效”。

非中断性变更

  • 修改了数据类型初始化的逻辑,以确保在指定存在开关时正确。

New-CMOperatingSystemImageUpdateSchedule

非中断性变更

  • 添加了新参数,以匹配在 UI 中创建计划向导所做的更改:
    • -RemoveSupersededUpdates

New-CMOperatingSystemUpgradeUpdateSchedule

非中断性变更

  • 添加了新参数,以匹配在 UI 中创建计划向导所做的更改:
    • -RemoveSupersededUpdates

New-CMPackageDeployment

已修复的 Bug

  • New-CMPackageDeployment具有不一致的警告

非中断性变更

  • 修改了 SlowNetwork 选项的默认行为,使其与 UI 保持一致。

New-CMStatusFilterRule

已修复的 Bug

  • New-CMStatusFilterRule无法按预期工作
  • 无法使用属性“包 ID”创建新的状态筛选器规则。

非中断性变更

  • 添加了更多属性 ID/值检查条件,以取消阻止未指定 -PropertyID 的情况。
  • 添加了逻辑,以在源为“Client”时允许用户设置属性 ID = “包 ID”。

New-CMTaskSequenceDeployment

已修复的 Bug

  • 无法设置任务序列部署的过期时间
  • New-CMTaskSequenceDeployment ,$result无法从此 cmdlet 获取 对象。

非中断性变更

  • 向参数 -DeadlineDateTime 添加了别名“DeploymentExpireDateTime”,以便与 Set- cmdlet 保持一致。
  • 删除了 using 块,不应释放部署对象。

New-CMTaskSequenceMedia

非中断性变更

  • 添加了一个新参数,以匹配添加到任务序列媒体创建 UI 的更改:
    • -TemporaryFolder (别名“TemporaryDirectory”、“StagingArea”)

New-CMTSStepRunPowerShellScript

中断性变更

  • 添加了参数集:RunScriptFromSource、RunScriptFromPackage。
  • PackageID 和 PackageName 参数不再是必需的,因为用户可以输入新的参数 SourceScript

非中断性变更

  • 添加了新参数,以匹配在任务序列编辑器 UI 中对运行 Power Shell 脚本步骤所做的更改:
    • -SourceCode
    • -WorkingDirectory
    • -OutputVariableName
    • -超时
    • -用户
    • -密码
    • -SuccessCodes

Remove-CMDeviceAffinityFromUser

已修复的 Bug

  • Add/Remove-CMDeviceAffinityToUser -UserId/-UserName 需要同时使用“-DeviceId/-DeviceName”。

非中断性变更

  • 添加了对 -DeviceID 和 -DeviceName 的参数检查,用户应至少指定其中一个。

Set-CMActiveDirectoryForest

已修复的 Bug

  • 创建 Active Directory 林 - 用户无法通过 Powershell 工作,仅当通过 GUI 创建时。

非中断性变更

  • 在用户设置凭据后,已将帐户导入全局帐户。
  • 添加了用于使用密码创建凭据的新参数 -Password。

Set-CMApplicationDeployment

非中断性变更

  • 添加了新的参数 ReplaceToastNotificationWithDialog (布尔) ,管理员可以指定在客户端计算机上提供所需软件时是否将 toast 通知替换为对话框。 它是可选参数,默认情况下为 false。

Set-CMClientSetting

非中断性变更

  • 添加了新的参数 ReplaceToastNotificationWithDialog (布尔) ,管理员可以指定在计算机需要重启时是否将 Toast 通知替换为对话框。 它是可选参数,默认情况下为 false。

Set-CMClientSettingComputerRestart

非中断性变更

  • 添加了新的参数 ReplaceToastNotificationWithDialog (布尔) ,管理员可以指定在计算机需要重启时是否将 Toast 通知替换为对话框。 它是可选参数,默认情况下为 false。

Set-CMComplianceRuleExistential

已修复的 Bug

  • Set-CMComplianceRuleExistential -Rule 无法设置规则值。
  • Set-CMComplianceRuleExistential -ExpectedValue 不允许设置为负数,如果没有 select 参数 [-Exist Occurs] ,它已成功设置。

非中断性变更

  • 修改了 WarnIgnoredParameter 函数,以确保它将调用参数 silent='true' 的 IsBoundParameterUsed,以避免在子 cmdlet 将基参数重写为非公共参数时出现阻塞错误。
  • 将预期结果的验证移到了通用位置。

Set-CMDiscoveryMethod

已修复的 Bug

  • Set-CMDiscoveryMethod没有用于配置发现帐户的参数。

非中断性变更

  • 添加了新的参数 -UserName,以指定新添加 ADContainer for AD System/User Discovery 的发现帐户。

Set-CMDistributionPoint

非中断性变更

  • 添加了“-EnableLedbat”参数以在 DP 上启用/禁用 LEDBAT

Set-CMDriver

已修复的 Bug

  • Set-CMDriver -SupportedPlatformName 将失败的数组

非中断性变更

  • 修复了 SupportPlatformName 参数的数组值问题。
  • 添加了 SupportedPlatform 的新参数: -AddSupportedPlatformName;-RemoveSupportedPlatformName;-ClearSupportedPlatform

弃用

  • 已弃用参数:-SupportedPlatformName

Set-CMManagementPoint

中断性变更

  • 修改了参数验证以与 UI 保持一致,添加了在启用/禁用云网关时重置客户端连接类型的代码。 这是一项重大更改,因为我们会阻止用户启用云网关 (-EnableCloudGateway) 不使用 SSL。

已修复的 Bug

  • Set-CMManagementPoint -EnableCloudGateway 时,首先将 MP 设置为 HTTPS/EnableCloudGateway true,然后将 MP 设置为 HTTP,则不应检查 EnableCloudGateway。

Set-CMStatusFilterRule

已修复的 Bug

  • Set-CMStatusFilterRule不适用于设置包 ID

非中断性变更

  • 允许用户在不再次指定源的情况下设置属性,UI 的不同是,我们需要用户同时指定 -PropertyID 和 -PropertyValue。
  • 添加了代码,以避免对象不存在时出现空警告消息。

Set-CMTSStepRunPowerShellScript

非中断性变更

  • 添加了新参数,以匹配在任务序列编辑器 UI 中对运行 Power Shell 脚本步骤所做的更改:
    • -SourceCode
    • -WorkingDirectory
    • -OutputVariableName
    • -超时
    • -用户
    • -密码
    • -SuccessCodes

Set-CMWindowsFirewallPolicy

已修复的 Bug

  • Set/Remove-CMWindowsFirewallPolicy -InputObject 需要从 New-CMWindowsFirewallPolicy 中输入正确的类型。

非中断性变更

  • 更正了类型验证。