How to Create a Configuration Manager Console Folder Item
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, because there are no SMS_ObjectContainerItem Server WMI Class instances for Configuration Manager 2007 objects in the root folder of a given Configuration Manager object type, a new SMS_ObjectContainerItem instance must be created for each Configuration Manager object that is moved from the root folder to a subfolder. For example, when reports in the root folder are organized into more meaningful folders, a new SMS_ObjectContainerItem instance must be created for each report that is placed in a subfolder.
The following properties must be supplied when you create an instance of SMS_ObjectContainerItem:
ContainerNodeID - The identifier for the console folder that contains the item. This value maps to the SMS_ObjectContainerNode class ContainerNodeId property. For more information about creating console folders, see How to Create a Configuration Manager Console Folder.
InstanceKey - The item's key. For example the SMS_Package class PackageID property value.
ObjectType -The type of the item, for example, 2 for a package. For more information, see the SMS_ObjectContainerItem class ObjectType property.
To create a console folder item
Set up a connection to the SMS Provider. For more information, see About the SMS Provider in Configuration Manager.
Create an SMS_ObjectContainerItem object.
Populate the object properties.
Commit the changes.
Example
The following example creates a new console folder item for a Configuration Manager object that is identified by its instance identifier (instanceID) and its object type (objectType). The new folder item is created in the folder identified by nodeID.
For information about calling the sample code, see Calling Configuration Manager Code Snippets.
Sub CreateConsoleFolderItem(connection, instanceID, objectType, nodeID)
Dim folderItem
Set folderItem = connection.Get("SMS_ObjectContainerItem").SpawnInstance_()
folderItem.InstanceKey = instanceID
folderItem.ObjectType = objectType
folderItem.ContainerNodeID = nodeID
folderItem.Put_
End Sub
public void CreateConsoleFolderItem(WqlConnectionManager connection, string instanceID, Int32 objectType, Int32 nodeID)
{
try
{
IResultObject folderItem = connection.CreateInstance("SMS_ObjectContainerItem");
folderItem["InstanceKey"].StringValue = instanceID;
folderItem["ObjectType"].IntegerValue = objectType;
folderItem["ContainerNodeID"].IntegerValue = nodeID;
folderItem.Put();
}
catch (SmsException e)
{
Console.WriteLine("Failed to create folder item. Error: " + e.Message);
throw;
}
}
The example method has the following parameters:
Parameter | Type | Description |
---|---|---|
connection |
|
A valid connection to the SMS Provider. |
InstanceID |
|
The item's key. For more information, see the SMS_ObjectContainerItem class InstanceKey property. |
objectType |
|
The item type. For more information, see the SMS_ObjectContainerItem class ObjectType property. |
nodeID |
|
The type of the item. For more information, see the SMS_ObjectContainerItem class ContainerNodeID property and the SMS_ObjectContainerNode class ContainerNodeId property. |
Compiling the Code
This C# example requires:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robust Programming
For more information about error handling, see About Configuration Manager Errors.
Security
For more information about securing Configuration Manager applications, see About Securing Configuration Manager Applications.
See Also
Concepts
About Configuration Manager Console Folders
Configuration Manager Objects
How to Create a Configuration Manager Console Folder
How to Create a Configuration Manager Console Search Folder
How to Delete a Configuration Manager Console Folder
How to Move a Configuration Manager Console Folder
How to Move a Configuration Manager Console Folder Item