如何建立Configuration Manager自訂動作控制項
在Configuration Manager中,若要建立自訂動作控制項,您可以使用下列兩個類別建立 Windows 控制項:
類別 | 描述 |
---|---|
SmsOsdEditorPageControl | 自訂動作控制項。 您可以從這個類別衍生,以實作工作順序編輯器中顯示的自訂動作控制項。 |
TaskSequenceOptionControl | 自訂動作的選項控制項。 您可以從這個類別衍生,以建立 [工作順序編輯器] 中顯示的自訂動作選項頁面。 |
這些程式說明如何使用 Visual Studio 2005 建立Configuration Manager作業系統部署控制元件。 當它載入工作順序編輯器時,控制項會顯示內容頁,其中包含用來設定自訂動作之使用者名稱動作變數的文字方塊。
完成這些步驟之後,請執行下列主題中的步驟,以建立自訂動作 Managed 物件格式 (MOF) 檔案,並使用自訂動作控制項。
如何建立自訂動作Configuration Manager MOF 檔案
注意事項
如需在部署過程中使用自訂動作的相關資訊,請參閱關於Configuration Manager自訂動作用戶端應用程式
控制 Visual Studio 專案
下列程式會建立自訂動作控制項專案。
建立控制項
在 Visual Studio 2010 的 [ 檔案] 功能表上,指向 [ 新增],然後按一下 [專案 ] 以開啟 [ 新增專案 ] 對話方塊。
從Visual C#、Windows專案清單中,選取[Windows 控制項程式庫] 專案範本,然後在 [名稱] 方塊中輸入
ConfigMgrTSAction
。按一下 [確定 ] 以建立 Visual Studio 專案。
在方案總管中,以滑鼠右鍵按一下UserControl1.cs,按一下 [重新命名],然後將名稱變更為
ConfigMgrTSActionControl.cs
。在方案總管中,以滑鼠右鍵按一下 [參考],然後按一下 [新增參考]。
在 [新增參考]對話方塊中,按一下 [流覽] 索引標籤,流覽至 %ProgramFiles%\Microsoft Configuration Manager\AdminUI\bin,然後選取下列元件:
Adminui.osdcommon.dll
Adminui.tasksequenceeditor.dll
Adminui.wqlqueryengine.dll
Microsoft.configurationmanagement.exe
Microsoft.configurationmanagement.managementprovider.dll
按一下 [確定 ] 將元件新增為專案參考。
在方案總管中,以滑鼠右鍵按一下[ConfigMgrTSActionControl.cs],然後按一下 [檢視程式碼]。
新增下列程式碼以包含必要的命名空間:
using Microsoft.ConfigurationManagement.AdminConsole; using Microsoft.ConfigurationManagement.AdminConsole.TaskSequenceEditor;
變更 ConfigMgrTSActionControl 類別,使其衍生自 SmsOsdEditorPageControl。
在 ConfigMgrTSActionControl.cs中,將下列新的建構函式新增至 ConfigMgrTSActionControl 類別:
public ConfigMgrTSActionControl(SmsPageData data) : base(data) { InitializeComponent(); }
新增下列方法來初始化 控制項:
public override void InitializePageControl() { base.InitializePageControl(); }
建立選項控制項
下列程式會建立宣告自訂動作選項控制項的程式碼。 此實作會使用預設選項控制項。
若要建立選項控制項
在 ConfigMgrTSActionControl.cs 的結尾處,于 ConfigMgrTSAction 命名空間中新增下列新類別:
public class ConfigureTSActionOptions : TaskSequenceOptionControl { public ConfigureTSActionOptions() : base() { } public ConfigureTSActionOptions(SmsPageData data) : base(data) { } }
自訂使用者介面
下列程式會新增文字方塊和程式碼來管理動作資料。
若要新增使用者介面
在方案總管中,以滑鼠右鍵按一下[ConfigMgrTSActionControl.cs],然後按一下 [檢視設計工具]。
在 [ 工具箱] 中,按一下 [ 通用控制項] 索引 標籤,然後按兩下 [TextBox]。 名為 的
textBox1
按鈕會新增至使用者控制項設計工具上的控制項。按兩下文字方塊。 名為
textBox1_TextChanged
的事件處理常式會新增至類別 ConfigMgrTSActionControl。 新增下列程式碼,以確保變更會儲存至動作的屬性管理員:SetDirtyFlag(true);
在 ConfigMgrTSActionControl 類別中,新增下列方法,將文字方塊值
User
寫入自訂動作 MOF 中定義的 屬性。 按一下 [ 確定 ] 或 [ 套 用] 按鈕時,就會呼叫此值。protected override bool ApplyChanges(out Control errorControl, out bool showError) { // You can check the error here and return false. if (this.HasError(out errorControl) == true) { this.ShowMessageBox( this.GetErrorString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); errorControl = null; showError = true; return false; } this.PropertyManager["User"].StringValue = textBox1.Text; return base.ApplyChanges(out errorControl, out showError); }
在控制項的設計檢視中,按兩下 控制項以建立方法 ConfigMgrTSActionControl_Load。
將下列程式碼新增至 方法。 此程式碼會載入具有現有 User 值的文字方塊。 當工作順序動作在建立之後進行編輯時,就會發生這種情況。
textBox1.Text = this.PropertyManager["User"].StringValue;
資源字串
下列程式會新增用來在工作順序編輯器中顯示自訂動作名稱的資源字串。
若要新增資源字串
在方案總管中,按一下 [專案] 功能表上的 [屬性]。
按一下 [ 資源] 索引 標籤。如果資源檔案不存在,請選取 [資源] 索引 標籤上 顯示的訊息來建立它。
在 [資源設計工具] 工具列上,指向 [資源檢視] 下拉式清單,按一下箭頭,並確定它已設定為 [字串 (這是預設) 。 [設定] 方格隨即出現,其中顯示該資源設計師實例所維護的字串。
按一下方格中最後一個資料列的 [ 名稱 ] 資料行,此資料行會標示星號 (*) 。
在 [ 名稱] 資料 行中,輸入
DefaultDisplay_ConfigMgrTSAction
作為字串名稱。在 [ 值] 資料行中,輸入字串 [自訂動作]。 這是工作順序動作清單中顯示的字串。
按一下方格中最後一個資料列的 [ 名稱 ] 資料行,此資料行會標示星號 (*) 。
在 [ 名稱] 資料 行中,輸入
ConfigMgrTSAction
作為字串名稱。在 [ 值] 資料行中,輸入
Custom Action
。 這是您新增自訂動作時所顯示的字串。
部署元件
此程式會將您建立的元件建置並複製到 Configuration Manager 主控台元件資料夾。 如需部署Configuration Manager主控台擴充功能的重要資訊,請參閱關於Configuration Manager系統管理員主控台擴充功能部署。
若要部署元件
建置專案。 Visual Studio 會將元件建立為 \Visual Studio 2005\Projects\ConfigMgrControl\ConfigMgrTSAction\bin\Debug\ConfigMgrTSActionControl.dll。
將元件複製到 %ProgramFiles%\Microsoft Configuration Manager\AdminUI\bin 資料夾。
另請參閱
關於Configuration Manager主控台擴充功能
Configuration Manager主控台擴充功能部署
如何建立自訂動作Configuration Manager MOF 檔案
如何使用Configuration Manager自訂動作