How to Call Configuration Manager COM Automation Objects
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
Microsoft System Center Configuration Manager 2007 has several COM automation objects that you can easily call from VBScript and managed code.
VBScript
In VBScript you call the Configuration Manager 2007 COM automation objects as you would any other COM automation object. For more information, see https://go.microsoft.com/fwlink/?LinkId=110497.
The following procedure demonstrates how to create an SmsClient Client COM Automation Class object and then call a method to display the current assigned site for a client. Code similar to this can be used with the code snippets in this Configuration Manager SDK.
To call a COM automation object by using VBScript
Open Notepad.exe.
Enter the following code:
Option Explicit On Error Resume Next Call GetAssignedSite WScript.Echo "Finished" Sub GetAssignedSite Dim smsClient Set smsClient = CreateObject ("Microsoft.SMS.Client") If Err.Number <> 0 then WScript.Echo "Could not create SMS Client Object - quitting" Exit Sub End If WScript.Echo "Assigned Site is : " & smsClient.GetAssignedSite End Sub
Save the file with the name script.vbs. Be sure to save the file as type All Files.
From the command prompt, navigate to the folder you saved the script.vbs in.
Type cscript script.vbs and press ENTER. The current management point for the client should be displayed.
Managed Code
To use the Microsoft System Center Configuration Manager 2007 COM Automation objects with managed code, you use COM Interop. You use COM Interop in your Visual Studio project by first adding a reference to the COM Automation object and then by declaring and calling the COM automation object in your code.
For more information about COM Interop, see COM Interop Tutorials (https://go.microsoft.com/fwlink/?LinkId=111724).
The following procedure demonstrates how to add a reference to the SmsClient Client COM Automation Class automation object. It shows how to declare the object in code and then call a method, to get the current management point. Code similar to this can be used with the samples in this section.
Note
In the topics that use COM Automation objects, the required namespaces and assemblies are listed in the Compiling the Code Section.
To call a COM Automation object by using managed code
Create a Visual Studio C# Console Application project.
Add the SmsClientClass assembly as a reference to the project. Right-click the project, click Add Reference, click the COM tab of the Add Reference dialog box. Double-click SmsClientLib, and then press OK.
Add the following code to the list of namespaces at the top of Program.cs.
using System.Runtime.InteropServices; using SmsClientLib;
Add the following code to the Main function in Program.cs.
try { SmsClientClass client = new SmsClientClass(); Console.WriteLine("Current management point is: " + client.GetCurrentManagementPoint()); } catch (COMException e) { Console.WriteLine("Failed to set the management point " + e.Message); throw; }
Build and run the project. The current management point for the client should be displayed.
See Also
Concepts
Configuration Manager Client Automation
Configuration Manager Client Control Panel Configuration
Software Distribution Control Panel Automation
Configuration Manager Client Configuration