How to Create a Configuration Manager Console View
Applies To: System Center Configuration Manager 2007, System Center Configuration Manager 2007 R2, System Center Configuration Manager 2007 R3, System Center Configuration Manager 2007 SP1, System Center Configuration Manager 2007 SP2
In Microsoft System Center Configuration Manager 2007, to create a Configuration Manager console view, you create a .NET Framework assembly that inherits from the following classes:
Class | Description |
---|---|
Defines the control that the user sees in the Configuration Manager 2007 console results pane. |
|
Provides access to the query processor, refresh operations, and action processing. |
|
Provides information about the view. |
The following procedures create an empty view control. Later you create the node XML that is necessary to integrate the view into the Configuration Manager console, the functionality to display the SMS Provider namespace classes, and the functionality to list the object instances of a selected class.
After you have finished the procedures in this topic, perform the procedure in How to Create Node XML for a Configuration Manager Console View. You can then see the empty control in the Configuration Manager console under the Tools console tree node.
Next, perform the procedures in How to Use Objects Passed to a Configuration Manager Console View. This procedure adds the functionality to display the class instances in a DataGridView control.
Create the Control Class
The following procedure creates the SmsFormViewControlBase derived class that implements the control for the view.
To create the Visual Studio project
In Visual Studio 2005, on the File menu, point to New, and then click Project.
In the New Project dialog box, select the Windows Control Library project template from the list of Visual C#, Windows projects, and type ConfigMgrObjectsControl in the Name box.
Click OK to create the Visual Studio project.
In Solution Explorer, right-click UserControl1.cs, click Rename, and then change the name to ConfigMgrObjectsControl.cs.
In Solution Explorer, right-click References, and then click Add Reference.
In the Add Reference dialog box, click the Browse tab, navigate to %ProgramFiles%\Microsoft Configuration Manager\AdminUI\bin, and add the following references:
microsoft.configurationmanagement.dll
microsoft.configurationmanagement.managementprovider.dll
Microsoft.ManagementConsole.dll.
Adminui.common.dll
Click OK to add the assemblies as project references.
In Solution Explorer, right-click ConfigMgrObjectsControl.cs, and then click View Code.
In the source code, add the following directives:
using System.Xml; using Microsoft.ConfigurationManagement; using Microsoft.ConfigurationManagement.AdminConsole; using Microsoft.ConfigurationManagement.AdminConsole.Common; using Microsoft.ConfigurationManagement.AdminConsole.Schema; using Microsoft.ConfigurationManagement.ManagementProvider; using Microsoft.ManagementConsole;
Change the namespace to Microsoft.ConfigurationManagement.AdminConsole.ConfigMgrObjectsView.
Change the class ConfigMgrObjectsControl so that it derives from the SMSFormViewControlBase class.
In Solution Explorer, right-click ConfigMgrObjectsControl.Designer.cs, and then click View Code.
In the source code, change the namespace to Microsoft.ConfigurationManagement.AdminConsole.ConfigMgrObjectsView.
In ConfigMgrObjectsControl.cs, add the following to the ConfigMgrObjectsControl constructor after the call to InitializeComponent:
Dock = DockStyle.Fill;
Add the following two properties to the ConfigMgrObjectsControl class:
protected ConsoleParentNode Node { get { return FormViewControl.ScopeNode as ConsoleParentNode; } } protected ConfigMgrObjectsFormView FormViewControl { get { return NodeFormView as ConfigMgrObjectsFormView; } }
Create the Form View Class
The following procedure creates the SmsFormViewBase derived class.
To create a form view class
In ConfigMgrDialog.cs, add the following new class in the Microsoft.ConfigurationManagement.AdminConsole.ConfigMgrPropertySheet namespace:
public class ConfigMgrObjectsFormView : SmsFormViewBase { public ConfigMgrObjectsFormView() { this.DescriptionBarText = @""; } }
Create the View Description Class
The following procedure creates the ViewDescriptionBase derived class.
To create a view description class
In ConfigMgrDialog.cs, add the following new class in the Microsoft.ConfigurationManagement.AdminConsole.ConfigMgrPropertySheet namespace:
public class ConfigMgrObjectsViewDescription : ViewDescriptionBase { override protected Type TypeOfControl { get { return typeof(ConfigMgrObjectsControl); } } override protected Type TypeOfView { get { return typeof(ConfigMgrObjectsFormView); } } protected override string DisplayName { get { return "Objects view"; } } override protected string LanguageIndependentName { get { return "ConfigMgrObjectsViewControl"; } } public override bool TryConfigure(ref XmlElement persistedConfigurationData) { return false; } new public bool TryInitialize(ScopeNode scopeNode, AssemblyDescription resourceAssembly, ViewAssemblyDescription viewAssemblyDescription) { return true; } }
Deploy the Assembly
The following procedure builds the assembly you have created and copies it to the Configuration Manager console assemblies folder. For important information about deploying Configuration Manager console extensions, see Configuration Manager Console Extension Deployment.
To deploy the dialog box assembly
Build the project, and depending on where you created your project, the assembly should be created as \Visual Studio 2005\Projects\ConfigMgrControl\ConfigMgrObjectsControl\bin\Debug\ConfigMgrObjectsControl.dll.
Copy the assembly to the %ProgramFiles%\Microsoft Configuration Manager\AdminUI\bin folder.
See Also
Concepts
About Configuration Manager Console Views
How to Create Node XML for a Configuration Manager Console View
How to Use Objects Passed to a Configuration Manager Console View