共用方式為


如何 Unbundle 搭售的管理封包

 

發行︰ 2016年3月

適用於: System Center 2012 SP1 - Service Manager、System Center 2012 R2 Service Manager、System Center 2012 - Service Manager

System Center 2012 – Service Manager 中的配套管理組件 (.mpb) 檔案包含數個管理組件 (.mp) 檔案。 此外,它還可能包含諸如影像或表單組件等資源的參考。 若要自訂 .mpb 檔案,您必須存取並自訂配套中的個別檔案。

在此版本的 System Center 2012 – Service Manager 製作工具 中,您無法直接開啟 .mpb 檔案來存取其個別檔案, 而必須手動解除配套 .mpb 檔案,然後將所有 .mp、.xml 和其他資源檔案儲存在 製作工具 可以存取的單一資料夾中。 接著,您便可以像自訂其他管理組件一樣,在 製作工具 中開啟和自訂個別檔案。 完成自訂後,您必須重新配套檔案,並產生新的 .mpb 管理組件檔案。

您可以從.mpb 檔案解壓縮大多數的資源檔,使用 Windows PowerShell 指令碼。 下列程序提供從.mpb 檔案解壓縮檔案的 Windows PowerShell 範例指令碼。 如需 如何使用 Service Manager SDK 建立其他指令碼,請參閱 Service Manager SDK

您無法從 .mpb 檔案解壓縮密封的管理組件。 套件擁有者必須分別提供密封管理組件的每個檔案。

若要從 .mpb 檔案解壓縮個別未密封的管理組件

  1. 啟動 Service Manager Windows PowerShell 工作階段。 如需詳細資訊,請參閱設定和使用 System Center 2012-Service Manager 指令程式用於 Windows PowerShell

  2. 在 Windows PowerShell 主控台中,輸入下列命令 ︰

    mkdir <mpdir>  
    
    Get-SCSMManagementPack -bundlefile .\<filename>.mpb | Export-SCSMManagementPack -path <mpdir>  
    
    • 在命令中,取代 < p> 預留位置取代存放解壓縮的管理組件檔案的資料夾。

    • 取代 < 檔名> 預留位置.mpb 檔案的名稱。

您現在可以巡覽至 < p> 中目前的工作資料夾來檢視和存取解壓縮的管理組件檔案的資料夾。

若要從 .mpb 檔案解壓縮資源檔案

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

    $SM2012DirKey = Get-ItemProperty "hklm:\SOFTWARE\Microsoft\System Center\2012\Common\Setup"  
    $SM2012Dir = $SM2012DirKey.InstallDirectory   
    [reflection.assembly]::loadfrom($SM2012Dir + "\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)。 這些資源的格式是可以寫入檔案的二進位資料流。

另請參閱

管理組件:使用管理組件