How to Create an Association Between Two Computers in Configuration Manager
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
You create an association between a reference and destination computer, in Microsoft System Center Configuration Manager 2007, by calling the AddAssociation Method in Class SMS_StateMigration.
Note
You call the DeleteAssociation Method in Class SMS_StateMigration to delete an association.
To create an association between two computers
Set up a connection to the SMS Provider. For more information, see About the SMS Provider in Configuration Manager.
Example
The following example method adds an association between a source and reference computer.
For information about calling the sample code, see Calling Configuration Manager Code Snippets.
Sub AssociateComputer(connection, referenceComputerResourceId, destinationComputerResourceId)
Dim stateMigrationClass
Dim inParams
Dim outParams
' Get the state migration class.
Set stateMigrationClass = connection.Get("SMS_StateMigration")
' Set up the parameters.
Set inParams = _
stateMigrationClass.Methods_("AddAssociation").InParameters.SpawnInstance_
inParams.SourceClientResourceID = referenceComputerResourceId
inParams.RestoreClientResourceID = destinationComputerResourceId
' Call the method.
Set outParams = _
connection.ExecMethod( "SMS_StateMigration", "AddAssociation", inParams)
End Sub
public void AssociateComputer(
WqlConnectionManager connection,
int referenceComputerResourceId,
int destinationComputerResourceId)
{
try
{
// Set up the reference and destination computer in parameters.
Dictionary<string, object> inParams = new Dictionary<string, object>();
inParams.Add("SourceClientResourceID", referenceComputerResourceId);
inParams.Add("RestoreClientResourceID", destinationComputerResourceId);
// Create the computer association.
connection.ExecuteMethod("SMS_StateMigration", "AddAssociation", inParams);
}
catch (SmsException e)
{
Console.WriteLine("failed to make the association" + e.Message);
throw;
}
}
The example method has the following parameters:
Parameter |
Type |
Description |
connection |
|
A valid connection to the SMS Provider. |
referenceComputerResourceID |
|
The Configuration Manager resource identifier for the reference computer. This is available from SMS_R_System class ResourceId property for the computer. |
destinationComputerResourceID |
|
The Configuration Manager resource identifier for the destination computer. This is available from SMS_R_System class ResourceId property for the computer. |
Compiling the Code
The C# example has the following compilation requirements:
Namespaces
System
System.Collections.Generic
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
Operating System Deployment Computer Management
AddAssociation Method in Class SMS_StateMigration
DeleteAssociation Method in Class SMS_StateMigration