共用方式為


Configuration Manager 最新分支 1706 的 Cmdlet 連結庫變更

注意事項

System Center 設定最新分支 1702 是這些變更的基準。 如需詳細資訊,請參閱 Configuration Manager 最新分支 1702 的 Cmdlet 連結庫變更

重要變更

文件庫更新

如需最新的 Cmdlet 連結庫檔,請參閱 ConfigurationManager 模組參考

系統管理員主控台整合式腳本環境 (ISE) 體驗改善

從系統管理員控制台啟動ISE時產生的腳本已更新,以允許更多自定義和重複使用。

如果先前已產生腳本,則必須從 %APPDATA%\TEMP 移除腳本,才能建立新的腳本。

已移除 Cmdlet

不再支援下列 Cmdlet 並已移除:

  • Add-CMComplianceRegistrySetting
  • New-CMComplianceRule

已知問題

這些是 Cmdlet 連結庫的已知問題,在此版本中尚未解決。

Get-CMAadConditionalAccessPolicy 和 Set-CMAadConditionalAccessPolicy

這些 Cmdlet 需要 64 位 PowerShell 環境。

因應措施

New-CMWirelessProfile 和 Set-CMWirelessProfile

如果在64位PowerShell環境中執行,Cmdlet可能會失敗。

因應措施

  • 在 32 位 PowerShell 環境中執行這些 Cmdlet。

Add-CMDataWarehouseServicePoint 和 Set-CMDataWarehouseServicePoint

無法將排程設定為執行「每日」

因應措施

Import-CMSecurityRole

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

因應措施

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

New-CMApplicationDeployment 和 New-CMClientSettingDeployment

Cmdlet 允許結合 CollectionNameCollectionCollectionId 參數,因而造成未定義的行為。

因應措施

僅指定 CollectionNameCollectionCollectionId。 請勿合併這些參數。

Remove-CMStateMigrationPoint

拿掉狀態移轉點時,如果網站角色裝載了內容,Cmdlet 可能會因為ArgumentOutOfRangeException而失敗。

因應措施

直接從SMS提供者移除狀態移轉點。

$smp = Get-CMStateMigrationPoint ... # Get the state migration point
$smp.Delete() # Directly delete the object.

新的 Cmdlet

這些是此版本新增的 Cmdlet,可新增新功能或增強現有 Cmdlet 的功能。

組態專案的相容性設定和規則

已新增新的 Cmdlet,以支援建立組態項目的設定和規則。

  • Add/Set-CMComplianceSettingActiveDirectory
  • Add/Set-CMComplianceSettingAssembly
  • Add/Set-CMComplianceSettingDirectory
  • Add/Set-CMComplianceSettingFile
  • Add/Set-CMComplianceSettingIisMetabase
  • Add/Set-CMComplianceSettingRegistryKey
  • Add/Set-CMComplianceSettingRegistryKeyValue
  • Add/Set-CMComplianceSettingRule
  • Add/Set-CMComplianceSettingScript
  • Add/Set-CMComplianceSettingSqlQuery
  • Add/Set-CMComplianceSettingWqlQuery
  • Add/Set-CMComplianceSettingXPathQuery
  • Get-CMComplianceRule
  • Get-CMComplianceSetting
  • New-CMComplianceRuleAssembly
  • New-CMComplianceRuleExistential
  • New-CMComplianceRuleFileFolderAttribute
  • New-CMComplianceRuleFileFolderDate
  • New-CMComplianceRuleFileFolderPermission
  • New-CMComplianceRuleFileFolderSimple
  • New-CMComplianceRuleFileFolderSize
  • New-CMComplianceRuleRegistryKeyPermission
  • New-CMComplianceRuleValue
  • New-CMComplianceRuleVersion
  • Remove-CMComplianceRule
  • Remove-CMComplianceSetting

範例 1:建立沒有規則的登錄機碼值設定

# Creates a setting looking for HKLM\Software\Microsoft\Windows NT\CurrentVersion:ReleaseId
$ci | Add-CMComplianceSettingRegistryKeyValue -SettingName "ReleaseId no rule" -DataType String -Hive LocalMachine -KeyName "SOFTWARE\Microsoft\Windows NT\CurrentVersion" -ValueName "ReleaseId" -NoRule

範例 2:使用存在規則建立登錄機碼值設定

# Creates a setting requiring the HKLM\Software\Microsoft\WindowsNT\CurrentVersion:ReleaseId registry key to exist
$ci | Add-CMComplianceSettingRegistryKeyValue -SettingName "ReleaseId must exist" -DataType String -Hive LocalMachine -KeyName "SOFTWARE\Microsoft\Windows NT\CurrentVersion" -ValueName "ReleaseId" -ExistentialRule -Existence MustExist

範例 3:使用值規則建立登錄機碼值設定

# Creates a setting requiring the HKLM\Software\Microsoft\WindowsNT\CurrentVersion:ReleaseId registry key to be equal to "1703"
$ci | Add-CMComplianceSettingRegistryKeyValue -SettingName "ReleaseId must be 1703" -DataType String -Hive LocalMachine -KeyName "SOFTWARE\Microsoft\Windows NT\CurrentVersion" -ValueName "ReleaseId" -ValueRule -ExpressionOperator IsEqual -ExpectedValue "1703"

範例 4:建立需要檔案設定特定屬性的檔案規則

$ci | Add-CMComplianceSettingFile -Path "C:\" -FileName "hiberfile.sys" -NoRule -SettingName "hiberfile.sys must have system attribute"
$setting = $ci | Get-CMComplianceSetting -SettingName "hiberfile.sys must have system attribute" # Get the SDK setting object
$rule = $setting | New-CMComplianceRuleFileFolderAttribute -RuleName "hiberfile.sys must be system" -System $true # Create the rule
$ci | Add-CMComplianceSettingRule $rule # Bind the rule to the CI

更新和服務

已新增新的 Cmdlet,以支援在 Configuration Manager 中自動更新和服務。

  • Enable-CMSiteFeature
  • Get-CMSiteFeature
  • Get-CMSiteUpdate
  • Get-CMSiteUpdateHistory
  • Get-CMSiteUpdateInstallStatus
  • Install-CMSiteUpdate
  • Invoke-CMSitePromotePreproductionClient
  • Invoke-CMSiteUpdateCheck
  • Invoke-CMSiteUpdateDownload
  • Invoke-CMSiteUpdatePrerequisiteCheck

範例 1:下載更新並監視其狀態

# Get the update object for the 1706 TP and invoke a download
$update = Get-CMSiteUpdate -Name "Configuration Manager Technical Preview 1706" -Fast
$update | Invoke-CMSiteUpdateDownload
``` powershell

# Now monitor the download status
``` powershell
while($true) {
    cls
    $update | Get-CMSiteUpdateInstallStatus  -Step Download | select orderid, progress, description | ft
    sleep 5
}

範例 2:安裝更新並監視其狀態

$update = Get-CMSiteUpdate -Name "Configuration Manager Technical Preview 1706" -Fast
$update | Install-CMSiteUpdate -IgnorePrerequisiteWarning -Force

while($true) {
    cls
    $update | Get-CMSiteUpdateInstallStatus -Step All -Complete | select orderid, progress, description -Last 10 | ft
    sleep 5
}

部署類型的增強型偵測方法

已新增新的 Cmdlet,以支援將增強的偵測方法新增至 Windows Installer (MSI) 、腳本和 Mac 部署類型。

  • Windows Installer & 腳本偵測子句
    • New-CMDetectionClauseDirectory
    • New-CMDetectionClauseFile
    • New-CMDetectionClauseRegistryKey
    • New-CMDetectionClauseRegistryKeyValue
    • New-CMDetectionClauseWindowsInstaller
  • Mac 偵測子句
    • New-CMDetectionClauseMacBundle
    • New-CMDetectionClauseMacPackage

範例:新增需要特定產品標識碼和目錄名稱的偵測子句,以供 Windows Installer 部署類型使用。

$clause1 = New-CMDetectionClauseWindowsInstaller -ProductCode $guid [Value -ExpressionOperator IsEquals -ExpectedValue "1.1.1.1" # Do a version check
$clause2 = New-CMDetectionClauseDirectory -DirectoryName "mymsi" -Path "C:\" -Existence # c:\mymsi should exist
$app | Add-CMMsiDeploymentType -ContentLocation "\\myserver\mypath\mymsi.msi" -Force -AddDetectionClause ($clause1, $clause2)

附註

目前不支援就地修改偵測子句。

目前不支援將偵測子句分組或取消群組。

工作順序

已新增新的 Cmdlet,以支援修改工作順序步驟和群組。

  • 工作順序群組和步驟
    • Get/New/Remove/Set-CMTaskSequenceGroup
    • Add/Get/Remove-CMTaskSequenceStep
  • 支援取得和新增動詞 (的工作順序條件)
    • CMTaskSequenceStepConditionIfStatement
    • CMTaskSequenceStepConditionQueryWmi
    • CMTaskSequenceStepConditionRegistry
    • CMTaskSequenceStepConditionFile
    • CMTaskSequenceStepConditionFolder
    • CMTaskSequenceStepConditionOperatingSystem
    • CMTaskSequenceStepConditionSoftware
  • 支援 (Get、New、Remove 和 Set 動詞命令的工作順序命令)
    • CMTaskSequenceStepRunCommandLine
    • CMTaskSequenceStepInstallApplication
    • CMTaskSequenceStepInstallSoftware
    • CMTaskSequenceStepInstallUpdate
    • CMTaskSequenceStepPartitionDisk
    • CMTaskSequenceStepReboot
    • CMTaskSequenceStepRunPowerShellScript
    • CMTaskSequenceStepSetupWindowsAndConfigMgr
    • CMTaskSequenceStepSetVariable
  • 工作順序支援命令
    • New-CMTaskSequencePartitionSetting

範例:建立執行兩個PowerShell腳本的自定義工作順序

$step1 = New-CMTaskSequenceStepRunPowerShellScript -Name "Run script 1" -PackageID $PackageId -ScriptName "script1.ps1" -ExecutionPolicy Bypass
$step2 = New-CMTaskSequenceStepRunPowerShellScript -Name "Run script 2" -PackageID $PackageId -ScriptName "script2.ps1" -ExecutionPolicy Bypass
$ts = New-CMTaskSequence -Name "Run scripts" -CustomTaskSequence
$ts | Add-CMTaskSequenceStep -Step ($step1, $step2)

注意事項

要在未來版本中新增的其他工作順序命令。

iOS 大量註冊

已新增 Cmdlet 以支援 iOS 大量註冊案例。

  • Get-CMCorpOwnedDevice
  • Get-CMIosEnrollmentProfile
  • New-CMIosEnrollmentProfile
  • Remove-CMCorpOwnedDevice
  • Remove-CMIosEnrollmentProfile
  • Set-CMIosEnrollmentProfileAssignment

無線配置檔

已新增 Cmdlet 以支援無線配置檔。

  • Get-CMWirelessProfile
  • New-CMWirelessProfile
  • Remove-CMWirelessProfile
  • Set-CMWirelessProfile

部署 Cmdlet

已新增 Cmdlet 以支援其他部署案例。

  • New-CMClientSettingsDeployment
    • 取代 Start-CMClientSettingsDeployment
  • New-CMApplicationDeploymentSimulation
    • 取代 Start-CMApplicationDeploymentSimulation

資源追蹤和復原 (BETA)

已新增新的 Cmdlet 來支援追蹤 PowerShell 執行時間所使用的 SMS 提供者物件,並在不再需要這些資源時加以清除。

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

執行 時 Start-CMObjectTracking ,PowerShell 運行時間會追蹤 IResultObject Cmdlet 連結庫 Cmdlet 所建立的物件。 您可以針對個別物件使用 Disconnect-CMTrackedObject 來回收未手動清除.Dispose()的 Cmdlet (範例: $o | Disconnect-CMTrackedObject) ,或Disconnect-CMTrackedObject -All可以使用 回收所有追蹤的物件。

請注意,回收對象之後,就無法再透過物件管線重複使用或傳遞至另一個 Cmdlet。

Stop-CMObjectTracking 可用來關閉物件追蹤。 請注意,先前配置的物件會保持作用中狀態。

未宣告的資源可能會導致SMS提供者引發配額違規錯誤。 這些問題通常來自於使用非常大型的SMS提供者物件集合,或在非常長的執行環境中

附註

這是實驗性功能,未來版本可能會變更或移除。 此功能已加入加入,且預設不會啟用。

Get-CMClientHealthSummary

此 Cmdlet 可用來取得具有選擇性日期範圍之集合的用戶端健康情況資訊。

範例:從 2017 年 1 月開始取得「所有系統」的用戶端健康情況。

Get-CMCollection -Name "All Systems" | Get-CMClientHealthSummary -StartDate "2017/01/01"

Get-CMSoftwareUpdateSyncStatus

此 Cmdlet 可用來取得與 Windows Update 同步處理的狀態。

Invoke-CMContentRedistribution

此 Cmdlet 可用來重新發佈已部署至發佈點的內容。 這支援應用程式、套件、開機映射、軟體更新、驅動程式、映射、工作順序和操作系統內容發佈。

範例:將套件轉散發至發佈點

Get-CMPackage -Name Contoso | Invoke-CMContentRedistribution -DistributionPointName myserver.contoso.com

Invoke-CMDeploymentSummarization

此 Cmdlet 可用來立即執行部署摘要。

Stop-CMMigrationSource

此 Cmdlet 可用來阻止網站移轉發生。 Sync-CMMigrationSource 必須用來繼續移轉。

Cmdlet 變更

已對此版本的現有 Cmdlet 進行下列變更。 變更可能是新功能、錯誤修正或取代,而且可能會中斷。 如果您使用本節所列的其中一個 Cmdlet 或功能區域,請仔細檢閱變更,以了解這些變更可能會對您的使用造成何種影響。

Add-CMApplicationCatalogWebsitePoint

已修正的錯誤

如果為 ApplicationWebServicePointServer 指定的值不包含預期的網站角色,Cmdlet 可能會失敗,並出現 KeyNotFoundException 錯誤。

非中斷性變更

已新增 ApplicationWebServicePointServer ,以允許使用 的 Get-CMApplicatinWebServicePoint輸出來定義 Web 服務點。 無法與 ApplicationWebServicePointServerName 結合。

Add-CMAssetIntelligenceSynchronizationPoint

已修正的錯誤

如果指定了無效的 CertificatePath ,可能會不正確地建立角色。 另請參閱: Remove-CMAssetIntelligenceSynchronizationPoint

Add-CMDataWarehouseServicePoint

重大變更

DaysOfWeek 值從整數變更為 DataWarehouseDaysOfWeek 列舉值。

已修正的錯誤

DataWarehouseDatabaseServerName 不會驗證 FQDN 主機名小於 16 個字元。

非中斷性變更

已新增DataWarehouseInstanceName 參數,以支援指定 SQL Server 實例。

Add-CMMacDeploymentType

非中斷性變更

新增 AddDetectionClause 參數,以支援將偵測子句新增至部署類型。 如需詳細資訊,請參閱 增強型偵測方法一節

Add-CMMsiDeploymentType

非中斷性變更

新增 AddDetectionClause 參數,以支援將偵測子句新增至部署類型。 如需詳細資訊,請參閱 增強型偵測方法一節

已新增 RebootBehavior 參數,以允許定義重新啟動行為。

Add-CMScriptDeploymentType

非中斷性變更

新增 AddDetectionClause 參數,以支援將偵測子句新增至部署類型。 如需詳細資訊,請參閱 增強型偵測方法一節

已新增 RebootBehavior 參數,以允許定義重新啟動行為。

Add-CMWindowsPhoneStoreDeploymentType

已修正的錯誤

如果指定了 windowsphone.com URL,則可能會建立無效的部署類型。

Approve-CMApprovalRequest 和 Deny-CMApprovalRequest

非中斷性變更

Cmdlet 現在支援使用與要求相關聯的 GUID 來核准或拒絕核准要求。

Get-CMAlert

已修正的錯誤

Cmdlet 不會擷取與 Endpoint Protection 或用戶端健康情況相關的警示類型。

Get-CMApprovalRequest

非中斷性變更

已新增 CurrentState 參數,以允許依核准狀態篩選核准要求。

Get-CMMaintenanceWindow

已修正的錯誤

如果網站沒有定義維護時段,Cmdlet 可能會因為 NullReferenceException 而失敗。

Import-CMWirelessProfileConfigurationItem

已修正的錯誤

Path 參數不會驗證輸入是否為有效的 UNC 路徑。

Import-CMClientCertificatePfx

非中斷性變更

已新增 ForSmimeEncryption 參數,表示 Microsoft Intune 可以使用憑證進行裝置加密。

Import-CMDriver

已修正的錯誤

Path 參數不會驗證輸入是否為有效的 UNC 路徑。

Import-CMTaskSequence

已修正的錯誤

ImportFilePath 參數不會驗證輸入是否為有效的 UNC 路徑。

Lock-CMObject

已修正的錯誤

如果針對不支持鎖定的物件叫用 Cmdlet,則可能會因為 NullReferenceException 而失敗。

New-CMADGroupDiscoveryScope

已修正的錯誤

GroupDN 參數不會驗證輸入是否為有效的辨別名稱。

New-CMAlertSubscription

已修正的錯誤

如果為 EmailAddress 指定一個以上的值,則訂用帳戶設定不正確。

New-CMApplicationDeployment

非中斷性變更

已新增 EnableSoftDeadline 參數來設定延遲強制執行。

New-CMCertificateProfileScep

非中斷性變更

KeySize 參數現在允許位元組值 4096

New-CMTaskSequence

非中斷性變更

已新增 TimeZone 參數,允許在使用 InstallOperatingSystemImage 時指定時區資訊。 您可以使用 Get-TimeZone Cmdlet 來指定時區。

New-CMSoftwareUpdateAutoDeploymentRule

已修正的錯誤

如果指定 Language ,則可能會建立無效的自動部署規則。

如果 [位置 ] 不存在,則可能會建立無效的自動部署規則。

Remove-CMAssetIntelligenceSynchronizationPoint

已修正的錯誤

如果移除設定不正確的 Asset Intelligence 同步處理點角色,Cmdlet 可能會因為 ArgumentNullException 而失敗。

Remove-CMMaintenanceWindow

已修正的錯誤

WhatIfConfirm 可能會導致 Cmdlet 傳回 ItemNotFoundException 錯誤。

Remove-CMUpdateGroupDeployment

已修正的錯誤

Cmdlet 可能無法移除具有 ItemNotFoundException 錯誤的有效部署。

Remove-CMUserCollectionDirectMembershipRule

非中斷性變更

ResourceName 參數現在支援通配符值。

Set-CMAlertSubscription

取代

AddEmailAddressRemoveEmailAddress 已取代 EmailAddress 參數

非中斷性變更

新增 AddEmailAddress 參數,以允許就地修改電子郵件位址。 無法與 EmailAddress 結合。

已新增 RemoveEmailAddress 參數,以允許就地移除電子郵件位址。 無法與 EmailAddress 結合。

Set-CMApplicationDeployment

非中斷性變更

已新增 EnableSoftDeadline 參數來設定延遲強制執行。

Set-CMConfigurationPolicyDeployment

已修正的錯誤

Cmdlet 可能無法部署遠端連線配置檔。

非中斷性變更

已新增 RemoteConnectionProfileNameRemoteConnectionProfileId 參數,以允許依名稱或標識碼部署遠端連線配置檔。

Set-CMDataWarehouseServicePoint

重大變更

DaysOfWeek 值從整數變更為 DataWarehouseDaysOfWeek 列舉值。

已修正的錯誤

未使用的參數可能會在執行 Cmdlet 時,將值重設為預設值。

DataWarehouseDatabaseServerName 不會驗證 FQDN 主機名小於 16 個字元。

非中斷性變更

已新增DataWarehouseInstanceName 參數,以支援指定 SQL Server 實例。

Set-CMEmailNotificationComponent

已修正的錯誤

如果指定 UseSsl 但未指定 Port 的值,則可能未正確設定 SMTP 連接埠。

Set-CMHierarchySetting

已修正的錯誤

Cmdlet 可讓您將排除集合設定為內建集合 (例如所有系統) 。

非中斷性變更

已新增 EnablePrereleaseFeature 參數,以支援啟用發行前版本功能。 這是一次性變更,除非使用 Force ,否則會提示您確認。 如需詳細資訊,請參閱 更新 & 服務

Set-CMMacDeploymentType

非中斷性變更

新增 AddDetectionClause 參數,以支援將偵測子句新增至部署類型。 如需詳細資訊,請參閱 增強型偵測方法一節

已新增 RemoveDetectionClause 參數,以支援從部署類型移除偵測子句。 如需詳細資訊,請參閱 增強型偵測方法一節

Set-CMMsiDeploymentType

非中斷性變更

新增 AddDetectionClause 參數,以支援將偵測子句新增至部署類型。 如需詳細資訊,請參閱 增強型偵測方法一節

已新增 RemoveDetectionClause 參數,以支援從部署類型移除偵測子句。 如需詳細資訊,請參閱 增強型偵測方法一節

已新增 RebootBehavior 參數,以允許定義重新啟動行為。

Set-CMProgram

已修正的錯誤

ProgramRunType 變更可能不會套用至指定的程式。

Set-CMScriptDeploymentType

非中斷性變更

新增 AddDetectionClause 參數,以支援將偵測子句新增至部署類型。 如需詳細資訊,請參閱 增強型偵測方法一節

已新增 RemoveDetectionClause 參數,以支援從部署類型移除偵測子句。 如需詳細資訊,請參閱 增強型偵測方法一節

已新增 RebootBehavior 參數,以允許定義重新啟動行為。

Set-CMSiteMaintenanceTask

已修正的錯誤

無法針對與月臺備份相關的工作啟用警示。

Set-CMSoftwareInventory

重大變更

Tag1IdTag2IdTag3Id 參數現在會執行驗證,以確保使用正確的格式。

非中斷性變更

已新增 PassThru 參數支援。

已修正的錯誤

指定無效的 Tag2Id 值可能會移除原本指定的標記。

Set-CMSoftwareUpdateAutoDeploymentRule

已修正的錯誤

如果 [位置 ] 不存在,則可能會建立無效的自動部署規則。

Set-CMSoftwareUpdatePointComponent

非中斷性變更

已新增 ContentFileOption 參數來設定 Windows 10 更新行為。

Set-CMWindowsPhoneStoreDeploymentType

已修正的錯誤

如果指定了 windowsphone.com URL,則可能會建立無效的部署類型。