Current Branch 1710 的 Configuration Manager Cmdlet 库更改

注意

System Center Configuration Current Branch 1706 是这些更改的基线。 有关更多详细信息,请参阅 Current Branch 1706 Configuration Manager Cmdlet 库更改

重要更改

文档库更新

有关最新的 cmdlet 库文档,请参阅 ConfigurationManager 模块参考

已删除 cmdlet

以下 cmdlet 不再受支持,已删除:

  • Invoke-CMAmtProvisioningDiscovery
  • New-CMAmtProvisioningAccount
  • Set-CMPowerControl

已弃用的 cmdlet

  • Invoke-CMEndpointProtectionScanSave-CMEndpointProtectionDefinition 已被 取代 Invoke-CMClientAction

禁用 PSDrive 自动创建

加载 ConfigurationManager.psd1 模块时,PowerShell 会自动尝试创建与使用 Configuration Manager 控制台访问的最后一个 SMS 提供程序的连接。 在某些情况下,此行为可能不可取。 添加了一个每用户注册表项,可以禁用此行为并需要手动创建驱动器。 若要配置此项,请使用注册表项: HKEY_CURRENT_USER\Software\Microsoft\ConfigMgr10\PowerShell 并将值 DisableCMDriveAutoCreate 设置为 1 的 DWORD, (禁用驱动器自动创建) 或 0 (默认行为) 。 删除 DisableCMDriveAutoCreate 还会启用默认行为。

注意

禁用驱动器自动创建后,Configuration Manager控制台可能会在启动 PowerShell 窗口时报告错误。

已知问题

这些是 Cmdlet 库的已知问题,未在此版本中解决。

Get-CMAadConditionalAccessPolicy和Set-CMAadConditionalAccessPolicy

这些 cmdlet 需要 64 位 PowerShell 环境。

解决方法

Import-CMSecurityRole

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

解决方法

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

Get-CMSiteUpdateInstallStatus

Cmdlet 可能会失败并出现 WqlQueryException 错误。

解决方法

  • 使用 Invoke-CMWmiQuery 直接查询 SMS_CM_UpdatePackTopLevelMonitoring 类。
示例
# Note: The PackageGuid value can be determined by running Get-CMSiteUpdateInstallStatus -Verbose and viewing the query details.
Invoke-CMWmiQuery "SELECT * FROM SMS_UpdatePackTopLevelMonitoring WHERE PackageGuid='...' ORDER BY StageId ASC"

Set-CMSoftwareUpdatePoint

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

解决方法

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

New cmdlet

这些是此版本新添加的 cmdlet,可添加新功能或增强现有 cmdlet 的功能。

设备关联 cmdlet

Get-CMResultantCollection 将获取与设备关联的集合。 Get-CMResultantDeployment 将获取面向设备的部署。

客户端清单类管理

添加了新的 cmdlet,以支持修改用于客户端清单的清单类。

  • Get-CMInventoryClass
  • New-CMInventoryReportClass

任务序列

添加了新的 cmdlet 以支持修改任务序列步骤。

  • 任务序列命令 (Get、新建、删除和设置支持的谓词)
    • CMTaskSequenceStepApplyOperatingSystem
    • CMTaskSequenceStepApplyWindowsSetting

资源跟踪和恢复 (BETA)

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

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

运行 时 Start-CMObjectTracking ,PowerShell 运行时将跟踪 IResultObject 由 Cmdlet 库 cmdlet 创建的对象。 未使用 手动清理 .Dispose() 的 Cmdlet 可以通过对单个对象使用 Disconnect-CMTrackedObject 来回收。

示例

# Reclaim all tracked objects
$o | Disconnect-CMTrackedObject```), or ```Disconnect-CMTrackedObject -All

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

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

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

注意

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

Cmdlet 更改

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

符合性设置和规则 cmdlet

已修复的 Bug

RuleDescription 值可能不适用于 Rule。 (支持创建或修改规则的 cmdlet)

无法 (Add/Set-CMComplianceSettingRegistryKeyValue、New-CMDetectionClauseRegistryKeyValue) 设置“默认”注册表项的值。

可能会 (New-CMComplianceRuleAssembly) 引发 NullReferenceException

缺少 DataType 支持 (Add-CMComplientSettingREgistryKeyValue)

Add-CMApplicationCatalogWebsitePoint

已修复的 Bug

改进了错误处理和报告。

Add/Set-CMDataWarehouseServicePoint

非中断性变更

DataWarehouseSqlPort 支持 1-65535 的端口值。 DaysOfWeek 参数现在支持 的值 Daily

Add/Set-CMExchangeServer

已修复的 Bug

EmailAddress 参数值可能不适用于 Exchange 服务器配置。

Add-CMMsiDeploymentType

已修复的 Bug

使用脚本检测时,需要 ContentLocation 参数。 添加了新的 UninstallContentLocationUninstallOption 参数。

非中断性变更

改进了 ProductCode 参数的验证。

Add-CMScriptDeploymentType

非中断性变更

改进了 ProductCode 参数的验证。 添加了新的 UninstallContentLocationUninstallOption 参数。

Get-CMDeploymentTypeDependencyGroup

非中断性变更

Cmdlet 现在支持中的 Get-CMDeploymentType管道值。

Get-CMSiteStatusMessage

已修复的 Bug

使用 Severity 参数进行筛选时,并非所有消息都会返回。

Invoke-CMClientAction (以前是 Invoke-CMClientNotification)

非中断性变更

接受所有客户端通知类型的 ActionType 参数。

注意

RequestScriptExecution 目前不支持 。

弃用

NotificationType 已被 ActionType 取代

New-CM*Deployment

已修复的 Bug

Cmdlet 允许组合 CollectionIdCollectionNameCollection 参数,这可能会导致未定义的行为。

New-CMBootableMedia

已修复的 Bug

无法将媒体创建为 SiteBased。

New-CMWirelessProfile

已修复的 Bug

Cmdlet 无法在 64 位 PowerShell 环境中运行。

如果为 ClientCertificate 参数指定值,Cmdlet 可能会返回错误。

Remove-CMCorpOwnedDevice

已修复的 Bug

使用管道对象时无法删除设备。

使用 WhatIfConfirm 时,不会报告设备名称。

Remove-CMStateMigrationPoint

中断性变更

如果状态迁移点上存储了用户数据,则需要进行其他确认。 注意: 强制 将绕过此确认。

Save-CMSoftwareUpdate

非中断性变更

添加了 RetryCountRetryDelaySec 参数,以在失败后重新尝试下载。

Set-CMAccessAccount

已修复的 Bug

PassThru 可能不会返回更新的对象。

Set-CMAntimalwarePolicy

已修复的 Bug

不能对 AddExcludedFilePath 参数使用通配符。

无法为给定策略配置FallbackOrder

非中断性变更

添加了用于管理威胁列表的新参数: AddThreatRemoveThreatCleanThreat。 AddThreat 接受一个哈希表,其中键为名称,值类型 Microsoft.ConfigurationManagement.Cmdlets.EP.Commands.DefaultActionMediumAndLowType为 。

弃用

ThreatNameOverrideAction 参数已被 AddThreatRemoveThreatCleanThreat 取代

Set-CMClientSettingComputerAgent

弃用

HealthAttestationUrl 参数,因为它不再被产品使用。

Set-CMClientSettingHardwareInventory

非中断性变更

AddInventoryReportClassCleanInventoryReportClassRemoveInventoryReportClass 参数支持修改客户端收集的硬件清单。

Set-CMMsiDeploymentType

非中断性变更

改进了 ProductCode 参数的验证。

Set-CMScriptDeployment

已修复的 Bug

如果 cmdlet 无法阻止进一步修改,直到锁定过期,则 SMS 提供程序中的应用程序对象可能不会自动解锁。

Set-CMScriptDeploymentType

非中断性变更

改进了 ProductCode 参数的验证。

Set-CMSoftwareUpdatePointComponent

非中断性变更

添加了用于配置更新下载行为的新 ContentFileOption 参数。

Set-CMSiteMaintenanceTask

非中断性变更

改进了错误报告

Set-CMWirelessProfile

已修复的 Bug

Cmdlet 无法在 64 位 PowerShell 环境中运行。

使用对象管道时,可能会引发不匹配的PSTypeName 错误。

ProxyAddressProxyPort 不会使用与 Configuration Manager 控制台相同的规则进行验证。

不使用 ProxyPort 的情况下指定 ProxyAddress 可能会导致创建无效的配置。

可以使用不支持此功能的配置更改 SecurityAuthentication

即使后者未更改,EapType 也必须与 SecurityAuthentication 结合使用。

非中断性变更

添加了 RootCertificateClientCertificateRememberCredentials 参数。

改进了用于配置 MSCHAPv2 无线策略的功能。

Sync-CMSoftwareUpdate

非中断性变更

Cmdlet 不再需要指定任何参数。

注意

如果未定义任何参数, -ForceSync $true 则隐含 。