Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous créez une variable de collection pour une collection Configuration Manager en ajoutant des instances de SMS_CollectionVariable classe WMI Server à la CollectionVariables propriété de SMS_CollectionSettings classe WMI Server.
Pour créer une variable de collection
Établissez une connexion au fournisseur SMS. Pour plus d’informations, consultez Principes de base du fournisseur SMS.
Obtenir une instance de SMS_CollectionSettings.
Pour chaque variable à ajouter, ajoutez des instances du SMS_CollectionVariable d’objets incorporés à la propriété de tableau CollectionVariables .
Validez les modifications apportées à l’instance de
SMS_CollectionSettingsclasse.
Exemple
L’exemple de méthode suivant crée une variable de collection et l’ajoute à la collection identifiée par l’identificateur fourni. Si l’objet de la collection n’existe SMS_CollectionSettings pas, il est créé.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code de Configuration Manager.
Sub CreateCollectionVariable( connection, name, value, mask, collectionId, precedence)
Dim collectionSettings
Dim collectionVariables
Dim collectionVariable
Dim Settings
' See if the settings collection already exists. if it does not, create it.
Set settings = connection.ExecQuery _
("Select * From SMS_CollectionSettings Where CollectionID = '" & collectionID & "'")
If settings.Count = 0 Then
Wscript.Echo "Creating collection settings object"
Set collectionSettings = connection.Get("SMS_CollectionSettings").SpawnInstance_
collectionSettings.CollectionID = collectionId
collectionSettings.Put_
End If
' Get the collection settings object.
Set collectionSettings = connection.Get("SMS_CollectionSettings.CollectionID='" & collectionId &"'" )
' Get the collection variables.
collectionVariables=collectionSettings.CollectionVariables
' Create and populate a new collection variable.
Set collectionVariable = connection.Get("SMS_CollectionVariable").SpawnInstance_
collectionVariable.Name = name
collectionVariable.Value = value
collectionVariable.IsMasked = mask
' Add the new collection variable.
ReDim Preserve collectionVariables (UBound (collectionVariables)+1)
Set collectionVariables(UBound(collectionVariables)) = collectionVariable
collectionSettings.CollectionVariables=collectionVariables
collectionSettings.Put_
End Sub
public void CreateCollectionVariable(
WqlConnectionManager connection,
string name,
string value,
bool mask,
string collectionId,
int precedence)
{
try
{
IResultObject collectionSettings = null;
// Get the collection settings. Create it if necessary.
IResultObject collectionSettingsQuery = connection.QueryProcessor.ExecuteQuery(
"Select * from SMS_CollectionSettings where CollectionID='" + collectionId + "'");
foreach (IResultObject setting in collectionSettingsQuery)
{
collectionSettings = setting;
}
if ( collectionSettings == null)
{
collectionSettings = connection.CreateInstance("SMS_CollectionSettings");
collectionSettings["CollectionID"].StringValue = collectionId;
collectionSettings.Put();
collectionSettings.Get();
}
// Create the collection variable.
List<IResultObject> collectionVariables = collectionSettings.GetArrayItems("CollectionVariables");
IResultObject collectionVariable = connection.CreateEmbeddedObjectInstance("SMS_CollectionVariable");
collectionVariable["Name"].StringValue = name;
collectionVariable["Value"].StringValue = value;
collectionVariable["IsMasked"].BooleanValue = mask;
// Add the collection variable to the collection settings.
collectionVariables.Add(collectionVariable);
collectionSettings.SetArrayItems("CollectionVariables", collectionVariables);
// Set the collection variable precedence.
collectionSettings["CollectionVariablePrecedence"].IntegerValue = precedence;
collectionSettings.Put();
}
catch (SmsException e)
{
Console.WriteLine("Failed to create collection variable: " + e.Message);
throw;
}
}
L’exemple de méthode contient les paramètres suivants :
| Paramètre | Type | Description |
|---|---|---|
Connection |
- Géré : WqlConnectionManager- VBScript : SWbemServices |
Connexion valide au fournisseur SMS. |
Name |
- Géré : String- VBScript : String |
Nom de la variable à créer. |
Value |
- Géré : String- VBScript : String |
Valeur de la variable |
Mask |
- Géré : Boolean- VBScript : Boolean |
Indique si la valeur doit être affichée dans la console du Configuration Manager.true - La valeur de la variable n’est pas affichée.false - La valeur de la variable s’affiche. |
CollectionID |
- Géré : String- VBScript : String |
Collection à laquelle la variable est ajoutée. |
Precedence |
- Géré : Integer- VBScript : Integer |
Priorité de la variable sur les autres variables du tableau. |
Compilation du code
L’exemple C# a les exigences de compilation suivantes :
Espaces de noms
Système
System.Collections.Generic
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Programmation robuste
Pour plus d’informations sur la gestion des erreurs, voir À propos des erreurs du Configuration Manager.
Sécurité de .NET Framework
Pour plus d’informations sur la sécurisation des applications Configuration Manager, voir Administration basée sur les rôles de Configuration Manager.
Voir aussi
Vue d’ensemble des objetsComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de code managéComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de WMIComment créer une variable d’ordinateur dans ConfigurationManagerComment créer une Objet Configuration Manager à l’aide de code managéComment créer un objet Configuration Manager à l’aide de WMIÀ propos du déploiement du système d’exploitation Gestion de l’ordinateur