Current Branch 1802 的 Configuration Manager Cmdlet 库更改

注意

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

重要更改

管理员控制台安装程序已更新,允许按逻辑名称导入 ConfigurationManager 模块,而无需使用从 <installdir>\bin\ConfigurationManager<installdir>\bin的硬链接。

已弃用的 cmdlet

禁用 PSDrive 自动创建

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

注意

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

已知问题

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

New-CMCloudDistributionPoint

Cmdlet 当前无法正常工作。

解决方法

Get-CMAadConditionalAccessPolicy和Set-CMAadConditionalAccessPolicy

这些 cmdlet 需要 64 位 PowerShell 环境。

解决方法

Import-CMSecurityRole

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

解决方法

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

Set-CMSoftwareUpdatePoint

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

解决方法

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

New cmdlet

以下项是此版本新添加的 cmdlet,可添加新功能或增强现有 cmdlet 的功能。

Co-Management cmdlet

New-CMCoManagementPolicy 将允许创建共同管理策略。

全局条件 cmdlet

添加了新的 cmdlet 以支持创建和修改全局条件。 支持新建和设置谓词。

  • CMGlobalConditionActiveDirectoryQuery
  • CMGlobalConditionAssembly
  • CMGlobalConditionFile
  • CMGlobalConditionIisMetabase
  • CMGlobalConditionRegistryKey
  • CMGlobalConditionRegistryValue
  • CMGlobalConditionScript
  • CMGlobalConditionSqlQuery
  • CMGlobalConditionWqlQuery
  • CMGlobalConditionXPathQuery
  • CMGlobalConditionOmaUri

任务序列 cmdlet

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

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

    • CMTSCaptureNetworkSettings
    • CMTSCaptureSystemImage
    • CMTSCaptureUserState
    • CMTSCaptureWindowsSetting
    • CMTSConvertDisk
    • CMTSDisableBitLocker
    • CMTSEnableBitLocker
    • CMTSPrepareSmsClient
    • CMTSPrepareWindows
    • CMTSStepApplyDataImage
    • CMTSStepDownloadPackageContent
    • CMTSStepJoinDomainWorkgroup
    • CMTSStepOfflineEnableBitLocker
    • CMTSStepPrestartCheckAction
    • CMTSStepRestoreUserState
    • CMTSStepUpgradeOperatingSystem
  • 任务序列条件命令

    • New-CMTSStepConditionOperatingSystemLanguage 用于创建操作系统语言条件的 cmdlet。
  • 任务序列复制 cmdlet

    • Copy-CMTaskSequence 用于创建现有任务序列副本的 cmdlet。

Convert-CMDeploymentType

此 cmdlet 允许从 SMS_DeploymentType WMI 对象实例获取本机DeploymentType对象。 可与 结合使用 Get-CMDeploymentType

资源跟踪和恢复 (BETA)

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

  • 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 或功能区域,请仔细查看更改,以了解它们如何影响你的使用。

PowerShell ISE

已修复的 Bug

当全局启用详细日志记录并且 ConfigurationManager 模块已导入时,Powershell_ise.exe进程可能会在退出时崩溃。

任务序列 cmdlet

已修复的 Bug

  • New-CMTSRule
    • 如果使用变量类型, SecureString Cmdlet 可能会失败。
  • New-CMTSStepApplyOperatingSystemSet-CMTSStepApplyOperatingSystem
    • 无法为 DestinationLogicalDrive 指定 null 值。
    • DestinationLogicalDrive 的小写值可能会导致 UI 验证失败。
  • New-CMTSStepApplyWindowsSettingSet-CMTSStepApplyWindowsSetting
    • 使用密码 参数可能会导致 SMS 提供程序出错。
  • New-CMTSStepInstallSoftwareSet-CMTSStepInstallSoftware
    • Cmdlet 错误地允许组合 ProgramEnableContinueOnInstallError 参数。

非中断性变更

改进了参数验证。

Add-CMComplianceSettingRegistryKeyValue

已修复的 Bug

ExpressionValue 不支持 ExpressionOperator 的所有设置组合。 修正 与管理员控制台不一致的行为。

非中断性变更

添加了 RemediateDword 参数以支持整数值进行修正。

Add-CMManagementPoint

非中断性变更

改进了参数验证。

Add-CMMsiDeploymentType

已修复的 Bug

Cmdlet 不会验证 UninstallContentLocationUninstallOption 参数组合的正确用法。

Add-CMScriptDeploymentType

已修复的 Bug

使用 AddDetectionClause 时,Cmdlet 错误地要求使用 Script 参数。

Add-CMSoftwareUpdatePoint

已修复的 Bug

将软件更新点添加到远程系统时,Cmdlet 可能会返回错误。

Enable-CMSiteFeature

已修复的 Bug

如果未为层次结构启用预发行功能,cmdlet 将失败并显示格式不正确的错误消息。

Get-CMApplication

中断性变更

默认情况下,隐藏的应用程序现在不再包含。 添加了 ShowHidden 参数,以强制在结果集中显示隐藏的应用程序。

Get-CMSiteInstallStatus

已修复的 Bug

Cmdlet 可能会针对 SMS 提供程序运行无效查询。

Get-CMSiteStatusMessage

已修复的 Bug

状态消息查询可能会返回重复的消息。

New-CMBootableMedia

已修复的 Bug

DistributionPoint 参数不会忽略已启用云的分发点。

New-CMComplianceRuleFileFolderSize

非中断性变更

改进了参数验证。

New-CMDetectionClauseMacPackage

已修复的 Bug

改进了参数验证。

New-CMDetectionClauseWindowsInstaller

已修复的 Bug

ProductCode 值未正确应用于 Setting 对象。

New-CMExchangeServer

非中断性变更

FullSyncScheduleDeltaSyncMins 参数不再是必需的,如果未使用,将应用默认计划。

New-CMInventoryReportClass**

非中断性变更

添加了用于定义类名的名称参数。

New-CMPrestagedMedia

已修复的 Bug

指定扩展名为 .wim 的输出文件时 Cmdlet 失败。

New-CMProgram

提交的 Bug

ProgramRunType 参数值可能会错误地应用于 Program。

New-CMSchedule

已修复的 Bug

RecurCount 不应允许 值为 0

New-CMStandaloneMedia

已修复的 Bug

如果 MediaTypeUsb,Cmdlet 可能无法创建媒体。

非中断性变更

改进了参数验证。

New-CMStatusFilterRule

非中断性变更

改进了参数验证。

New-CMStorageFolder

非中断性变更

改进了参数验证。

New-CMTaskSequenceDeployment

已修复的 Bug

使用 ScheduleEvent 时,Cmdlet 可能会添加两个计划。

New-CMWirelessProfile

非中断性变更

改进了参数验证。

Publish-CMPrestageContent

已修复的 Bug

应用/ApplicationName/ApplicationId 参数的使用可能会导致 cmdlet 失败。

非中断性变更

性能改进。

Set-CMAntimalwarePolicy

已修复的 Bug

AddExcludedFilePath 不会创建默认排除规则。

Set-CMApplication

已修复的 Bug

修改具有多种显示语言的应用程序可能会导致应用程序状态发生意外更改。

非中断性变更

添加了 AddAppCategoryAddUserCategoryRemoveAppCategoryRemoveUserCategoryCleanAppCategoryCleanUserCategory 参数,以支持按对象添加应用程序类别。

弃用

AppCategoryUserCategory 参数已被新的 [Add|删除|清理]AppCategory 和 [添加|删除|Clean]UserCategory 参数。

Set-CMBoundary

已修复的 Bug

缺少 NewName 参数。

非中断性变更

改进了参数验证。

Set-CMClientSettingClientcache

弃用

EnableHttps 参数不再受支持。

Set-CMManagementPoint

非中断性变更

改进了参数验证。

Set-CMMsiDeploymentType

已修复的 Bug

Cmdlet 不会验证 UninstallContentLocationUninstallOption 参数组合的正确用法。

Set-CMPackage

已修复的 Bug

缺少 UseMeteredNetwork 参数。

Set-CMSoftwareInventory

非中断性变更

添加了 CleanTag1CleanTag2CleanTag3 参数以支持删除标记。

已添加 ParentSoftwareIdCategoryId 参数。

改进了参数验证。

Set-CMStatusFilterRule

非中断性变更

改进了参数验证。

Set-CMUserDataAndProfileConfigurationItem

非中断性变更

改进了参数验证。

Set-CMWirelessProfile

非中断性变更

改进了围绕各种配置文件创建方案的参数验证。