共用方式為


取消組合管理元件,以搭配 Service Manager 撰寫工具使用

System Center 中的配套管理元件 (.mpb) 檔案 - Service Manager 包含數個管理元件 (.mp) 檔案。 此外,它可能包含資源的參考,例如影像或表單元件。 若要自定義 .mpb 檔案,您必須存取和自定義套件組合中的個別檔案。

在此版本的 Service Manager Authoring Tool 中,您無法直接開啟 .mpb 檔案來存取其個別檔案。 相反地,您必須手動解除封裝 .mpb 檔案,並將所有 .mp、.xml和其他資源檔儲存在撰寫工具可存取的單一資料夾中。 然後,您可以使用與自定義其他管理元件相同的方式,在 Authoring Tool 中開啟和自定義個別檔案。 完成自訂之後,您必須重新封裝檔案並產生新的 .mpb 管理元件檔案。

您可以使用 Windows PowerShell 腳本,從 .mpb 檔案擷取大部分的資源檔。 下列程式提供從 .mpb 檔案擷取檔案的 Windows PowerShell 範例腳本。 如需如何使用 Service Manager SDK 建立其他腳本的詳細資訊,請參閱 Service Manager SDK

您無法從 .mpb 檔案擷取密封的管理元件。 套件擁有者必須針對密封的管理元件個別提供每個檔案。

從 .mpb 檔案擷取個別未密封的管理元件

  1. 啟動 Service Manager Windows PowerShell 工作階段。

  2. 在 Windows PowerShell 控制台中,輸入下列命令:

    mkdir <mpdir>  
    
    Get-SCSMManagementPack -bundlefile .\<filename>.mpb | Export-SCSMManagementPack -path <mpdir>  
    
    • 在 命令中,將 mpdir 佔位元取代為將儲存擷取管理元件檔案的資料夾。

    • 檔名 佔位元取代為 .mpb 檔案的名稱。

    您現在可以流覽至目前工作資料夾中的 mpdir 資料夾,以檢視及存取您擷取的管理元件檔案。

從 .mpb 檔案擷取資源檔

  1. 在 Windows PowerShell 視窗中,輸入下列命令:

    $SM2016DirKey = Get-ItemProperty "hklm:\SOFTWARE\Microsoft\System Center\2016\Common\Setup"  
    $SM2016Dir = $SM2016DirKey.InstallDirectory   
    [reflection.assembly]::loadfrom($SM2016Dir + "\SDK Binaries\Microsoft.EnterpriseManagement.Packaging.dll")  
    [reflection.assembly]::LoadWithPartialName("Microsoft.EnterpriseManagement.Core") | out-null  
    $emg = new-object Microsoft.EnterpriseManagement.EnterpriseManagementGroup localhost  
    $mpbReader = [Microsoft.EnterpriseManagement.Packaging.ManagementPackBundleFactory]::CreateBundleReader()  
    $mpb = $mpbReader.Read("$PWD\Administration.mpb", $emg)  
    

從 $mpb 物件,您現在可以存取$mpb。ManagementPacks;這些是 .mpb 套件組合中的管理元件。 而且您可以存取$mpb。GetStreams(ManagementPack),可將資源與該套件組合中的管理元件產生關聯。 這些資源的格式為二進位數據流,您可以寫入檔案。

下一步