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 已新增 GroupDetectionClauses 和 DetectionClauseConnector的參數。
範例
使用規則建立簡單的運算式
$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
已修正的錯誤
- 無法將 CompanyLogoPath 或 CompanyLogoThemedPath 設定為大於 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
已修正的錯誤
- 無法將 CompanyLogoPath 或 CompanyLogoThemedPath 設定為大於 400x100 和 750KB 的插圖
Set-CMManagementPoint
已修正的錯誤
- 如果 EnableCloudGateway 是
$true
,可以將 CommunicationType 設定為 不支援的 值Http
Set-CMMsiDeploymentType
已修正的錯誤
- AddDetectionClause 參數會清除先前現有的 MSI 產品程式碼偵測子句
- AddRequirement 參數可能會因為 「SQL_ERROR」 而失敗
非中斷性變更
- 群組偵測子句的新 GroupDetectionClauses 和 DetectionClauseConnector 參數
Set-CMSoftwareUpdatePointComponent
非中斷性變更
- 已新增參數來設定功能和非功能取代
- 要立即過期取代更新的新 ImmediatelyExpireSupersedenceForFeature 參數
- 新的 WaitForMonthFeature 參數,用來設定取代更新的到期時間
Set-CMTSStepJoinDomainWorkgroup
已修正的錯誤
- UserName 參數不支援
%VARIABLE%
格式
Set-CMTSStepCaptureUserState
非中斷性變更
- Cmdlet 現在會在使用 AddConfigFile 且 ModeOption 為 時發出警告
Standard
Set-CMUserDataAndProfileConfigurationItem
非中斷性變更
- 當EnableSlowLink為 時,Cmdlet 現在會在使用SlowLink和SyncMins參數時發出警告
$false
Set-CMWirelessProfile
非中斷性變更
- 現在可以搭配 EapType 參數使用 'Fast'
- 新的 RememberUserCredentials 參數可用來設定或清除認證。
取代
- RememberCredentials參數已被RememberUserCredentials取代
Start-CMAntimalwarePolicyDeployment
已修正的錯誤
- Cmdlet 允許將使用者集合指定為部署目標