共用方式為


Configuration Manager 1810 版的 Cmdlet 程式庫變更

適用於:Configuration Manager (目前的分支)

注意

Configuration Manager最新分支版本 1806 是這些變更的基準。 如需詳細資訊,請參閱 Configuration Manager 1806 版的 Cmdlet 程式庫變更

重要變更

新的 Cmdlet

新增下列 Cmdlet 以建立部署類型和全域條件的需求規則:

  • New-CMGlobalConditionExpression
  • New-CMRegistryAccessControlEntry
  • New-CMRequirementRuleActiveDirectorySiteValue
  • New-CMRequirementRuleBooleanValue
  • New-CMRequirementRuleCMSiteValue
  • New-CMRequirementRuleCommonValue
  • New-CMRequirementRuleDeviceOwnershipValue
  • New-CMRequirementRuleExistential
  • New-CMRequirementruleExpression
  • New-CMRequirementRuleFileAttributeValue
  • New-CMRequirementRuleFilePermissionValue
  • New-CMRequirementRuleFreeDiskSpaceValue
  • New-CMRequirementRuleInputTypeValue
  • New-CMRequirementRuleOperatingSystemLanguageValue
  • New-CMRequirementRuleOperatingSystemValue
  • New-CMRequirementRuleOUValue
  • New-CMRequirementRuleScreenResolutionValue

Add 和 Set-CM*DeploymentType 支援的 Cmdlet 已新增 GroupDetectionClausesDetectionClauseConnector的參數。

範例

使用規則建立簡單的運算式
$rule1 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 2048 -RuleOperator GreaterEquals
$myRuleExpression = New-CMRequirementRuleExpression -AddRequirementRule $rule1
$myGC = New-CMGlobalConditionExpression -Name "GCExp" -DeviceType Windows -RootExpression $myRuleExpression
新增複雜的全域條件運算式
$ruleProc = Get-CMGlobalCondition -Name "Number of processors" | New-CMRequirementRuleCommonValue -Value1 2 -RuleOperator GreaterEquals
$ruleMem1 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 2048 -RuleOperator GreaterThan
$ruleMem2 = Get-CMGlobalCondition -Name "Total physical memory" | New-CMRequirementRuleCommonValue -Value1 4096 -RuleOperator LessEquals
$ruleCPUSpeed1 = Get-CMGlobalCondition -Name "CPU Speed" | New-CMRequirementRuleCommonValue -Value1 5120 -RuleOperator LessEquals
$ruleCPUSpeed2 = Get-CMGlobalCondition -Name "CPU Speed" | New-CMRequirementRuleCommonValue -Value1 1024 -RuleOperator GreaterThan
$expressionProc = New-CMRequirementRuleExpression -AddRequirementRule $ruleProc
$expressionMem = New-CMRequirementRuleExpression -AddRequirementRule $ruleMem1, $ruleMem2 -ClauseOperator And
$expressionCPU = New-CMRequirementRuleExpression -AddRequirementRule $ruleCPUSpeed1, $ruleCPUSpeed2 -ClauseOperator And
$myRuleExpression = New-CMRequirementRuleExpression -RootExpression $expressionProc -AddExpression $expressionMem,$expressionCPU -ClauseOperator And -AddAsGroup -GroupOperator Or
$myGC = New-CMGlobalConditionExpression -Name "GCExp" -DeviceType Windows -RootExpression $myRuleExpression
新增語言規則
$myGC = Get-CMGlobalCondition -Name "Operating System Language" | Where-Object PlatformType -eq 1
$cultureA = [System.Globalization.CultureInfo]::GetCultures([System.Globalization.CultureTypes]::AllCultures) | Where-Object Name -eq "zh"
$cultureB = [System.Globalization.CultureInfo]::GetCultures([System.Globalization.CultureTypes]::AllCultures) | Where-Object Name -eq "zh-CN"
$myRule = $myGC | New-CMRequirementRuleOperatingSystemLanguageValue -RuleOperator NoneOf -Culture $cultureA,$cultureB -IsMobile $False
Set-CMScriptDeploymentType -ApplicationName "myApp" -DeploymentTypeName "myDT" -AddRequirement $myRule
使用規則建立簡單的運算式。
$clauseFile1 = New-CMDetectionClauseFile -FileName "abc" -Path "c:\abc" -PropertyType Size -ExpectedValue 1024 -ExpressionOperator IsEquals -Value
$clauseFile2 = New-CMDetectionClauseFile -FileName "abc" -Path "c:\abc" -PropertyType Size -ExpectedValue 2048 -ExpressionOperator IsEquals -Value
$clauseFile3 = New-CMDetectionClauseFile -FileName "abc" -Path "c:\abc" -PropertyType Size -ExpectedValue 4096 -ExpressionOperator IsEquals -Value

Set-CMScriptDeploymentType -ApplicationName "testApp1" -DeploymentTypeName "abc" -AddDetectionClause $clauseFile1,$clauseFile2,$clauseFile3 -DetectionClauseConnector @{"LogicalName"=$clauseFile3.Setting.LogicalName;"Connector"="OR"} -GroupDetectionClauses $clauseFile2.Setting.LogicalName, $clauseFile3.Setting.LogicalName

已移除 Cmdlet

已淘汰的 Cmdlet

已知問題

下列專案是此版本中未解決的 Cmdlet 程式庫已知問題。

Get-CMAadConditionalAccessPolicy和Set-CMAadConditionalAccessPolicy

這些 Cmdlet 需要 64 位 PowerShell 環境。

因應措施

Import-CMSecurityRole

Cmdlet 可能會因為找到檔案 SecuredRoles.xsd 時發生 DirectoryNotFoundException 錯誤而失敗。

因應措施

  • 針對 ConfigurationManager.psd1 檔案呼叫 Import-Module ,而不是邏輯路徑或模組名稱。

Set-CMSoftwareUpdatePoint

即使基礎 SMS 提供者物件已變更,Configuration Manager主控台中可能不會顯示對排所做的變更。

因應措施

  • 結束並重新啟動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 進行下列變更。 變更可能是新功能、錯誤修正或取代。 某些變更可能會中斷。 如果您使用本節所列的其中一個 Cmdlet 或功能區域,請仔細檢閱變更,以瞭解這些變更可能會對您的使用造成何種影響。

Add-CMDistributionPoint

非中斷性變更

  • 為發佈點啟用 LEDBAT 的新 EnableLedbat 參數

Add-CMIntuneSubscription

已修正的錯誤

  • 無法將 CompanyLogoPathCompanyLogoThemedPath 設定為大於 400x100 和 750 KB 的圖例

Add-CMManagementPoint

已修正的錯誤

  • 如果 EnableCloudGateway$true ,可以將 CommunicationType 設定為 不支援的 值 Http

Clear-CMPxeDeployment

已修正的錯誤

  • Cmdlet 不會清除 PXE 部署

Get-CMDevice

已修正的錯誤

  • Cmdlet 可能不會傳回裝置的預期屬性

Get-CMHierarchySetting

非中斷性變更

  • Cmdlet 現在會傳回用戶端升級和使用量資料設定

New-CMAntimalwarePolicyDeployment

已修正的錯誤

  • Cmdlet 允許將使用者集合指定為部署目標

New-CMComplianceRuleExistential

非中斷性變更

  • ExpectedValue 參數現在允許負數

New-CMConfigurationPolicyuDeployment

已修正的錯誤

  • 不適用於所有參數集的PostponeDateTime參數

New-CMUserDataAndProfileConfigurationItem

已修正的錯誤

  • 無法搭配DetectSlowLinkDisabled參數使用 $false
  • DetectSlowLink 為 時,無法設定某些參數 $true

New-CMWirelessProfile

非中斷性變更

  • 現在可以搭配 EapType 參數使用 'Fast'
  • 新的 RememberUserCredentials 參數可用來設定或清除認證。

取代

  • RememberCredentials參數已被RememberUserCredentials取代

Set-CMComplianceRuleExistential

非中斷性變更

  • ExpectedValue 參數現在允許負數

Set-CMDistributionPoint

非中斷性變更

  • 為發佈點設定 LEDBAT 的新 EnableLedbat 參數

Set-CMHierarchySetting

非中斷性變更

  • 用於設定使用量資料設定的新 TelemetryLevel 參數

Set-CMIntuneSubscription

已修正的錯誤

  • 無法將 CompanyLogoPathCompanyLogoThemedPath 設定為大於 400x100 和 750KB 的插圖

Set-CMManagementPoint

已修正的錯誤

  • 如果 EnableCloudGateway$true ,可以將 CommunicationType 設定為 不支援的 值 Http

Set-CMMsiDeploymentType

已修正的錯誤

  • AddDetectionClause 參數會清除先前現有的 MSI 產品程式碼偵測子句
  • AddRequirement 參數可能會因為 「SQL_ERROR」 而失敗

非中斷性變更

  • 群組偵測子句的新 GroupDetectionClausesDetectionClauseConnector 參數

Set-CMSoftwareUpdatePointComponent

非中斷性變更

  • 已新增參數來設定功能和非功能取代
  • 要立即過期取代更新的新 ImmediatelyExpireSupersedenceForFeature 參數
  • 新的 WaitForMonthFeature 參數,用來設定取代更新的到期時間

Set-CMTSStepJoinDomainWorkgroup

已修正的錯誤

  • UserName 參數不支援 %VARIABLE% 格式

Set-CMTSStepCaptureUserState

非中斷性變更

  • Cmdlet 現在會在使用 AddConfigFileModeOption 為 時發出警告 Standard

Set-CMUserDataAndProfileConfigurationItem

非中斷性變更

  • EnableSlowLink為 時,Cmdlet 現在會在使用SlowLinkSyncMins參數時發出警告$false

Set-CMWirelessProfile

非中斷性變更

  • 現在可以搭配 EapType 參數使用 'Fast'
  • 新的 RememberUserCredentials 參數可用來設定或清除認證。

取代

  • RememberCredentials參數已被RememberUserCredentials取代

Start-CMAntimalwarePolicyDeployment

已修正的錯誤

  • Cmdlet 允許將使用者集合指定為部署目標