Sdílet prostřednictvím


Vytvoření proměnné kolekce v Configuration Manager

Proměnnou kolekce pro kolekci Configuration Manager vytvoříte přidáním instancí serverové třídy služby WMI SMS_CollectionVariable do CollectionVariables vlastnosti serverové třídy služby WMI SMS_CollectionSettings.

Vytvoření proměnné kolekce

  1. Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Základy poskytovatele serveru SMS.

  2. Získejte instanci SMS_CollectionSettings.

  3. Pro každou proměnnou, která má být přidána, přidejte instance vloženého objektu SMS_CollectionVariable do CollectionVariables vlastnost pole.

  4. Potvrďte změny v SMS_CollectionSettings instanci třídy.

Příklad

Následující ukázková metoda vytvoří proměnnou kolekce a přidá ji do kolekce identifikované zadaným identifikátorem. SMS_CollectionSettings Pokud objekt pro kolekci neexistuje, vytvoří se.

Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.

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;  
   }  
}  

Ukázková metoda má následující parametry:

Parametr Typ Popis
Connection -Spravované: WqlConnectionManager
- VBScript: SWbemServices
Platné připojení k poskytovateli serveru SMS.
Name -Spravované: String
-Vbscript: String
Název proměnné, která se má vytvořit.
Value -Spravované: String
-Vbscript: String
Hodnota proměnné
Mask -Spravované: Boolean
-Vbscript: Boolean
Určuje, jestli se hodnota zobrazí v konzole Configuration Manager.

true – hodnota proměnné se nezobrazí.

false – zobrazí se hodnota proměnné.
CollectionID -Spravované: String
-Vbscript: String
Kolekce, do které je proměnná přidána.
Precedence -Spravované: Integer
-Vbscript: Integer
Priorita proměnné před jinými proměnnými v poli.

Kompilace kódu

Příklad jazyka C# má následující požadavky na kompilaci:

Obory názvů

Systému

System.collections.generic

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Sestavení

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robustní programování

Další informace o zpracování chyb najdete v tématu Informace o chybách Configuration Manager.

Zabezpečení rozhraní .NET Framework

Další informace o zabezpečení Configuration Manager aplikací najdete v tématu Configuration Manager správa na základě rolí.

Viz taky

Přehled objektůJak se připojit k poskytovateli serveru SMS v Configuration Manager pomocí spravovaného kódu
Připojení k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMI
Vytvoření proměnné počítače v Configuration Manager
Vytvoření objektu Configuration Manager pomocí spravovaného kódu
Vytvoření objektu Configuration Manager pomocí rozhraní WMI
Informace o správě počítačů nasazení operačního systému