Megosztás a következőn keresztül:


Gyűjteményváltozó létrehozása Configuration Manager

Egy Configuration Manager-gyűjtemény gyűjteményváltozóját úgy hozhatja létre, hogy SMS_CollectionVariable kiszolgálói WMI-osztály példányait hozzáadja SMS_CollectionSettings CollectionVariableskiszolgálói WMI-osztály tulajdonságához.

Gyűjteményváltozó létrehozása

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.

  2. Szerezze be a SMS_CollectionSettings egy példányát.

  3. Minden hozzáadandó változóhoz adja hozzá a beágyazott objektum SMS_CollectionVariablepéldányait a CollectionVariables tömbtulajdonsághoz.

  4. Véglegesítse a módosításokat az SMS_CollectionSettings osztálypéldányon.

Példa

Az alábbi példametódus létrehoz egy gyűjteményváltozót, és hozzáadja a megadott azonosító által azonosított gyűjteményhez. Ha a SMS_CollectionSettings gyűjtemény objektuma nem létezik, akkor létrejön.

A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.

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

A példametódus a következő paraméterekkel rendelkezik:

Paraméter Típus Leírás
Connection -Kezelt: WqlConnectionManager
- VBScript: SWbemServices
Érvényes kapcsolat az SMS-szolgáltatóval.
Name -Kezelt: String
-Vbscript: String
A létrehozandó változó neve.
Value -Kezelt: String
-Vbscript: String
A változó értéke
Mask -Kezelt: Boolean
-Vbscript: Boolean
Meghatározza, hogy az érték megjelenjen-e a Configuration Manager konzolon.

true - a változó értéke nem jelenik meg.

false – megjelenik a változó értéke.
CollectionID -Kezelt: String
-Vbscript: String
A gyűjtemény, amelybe a változó bekerül.
Precedence -Kezelt: Integer
-Vbscript: Integer
A változó elsőbbséget élvez a tömb más változóival szemben.

A kód fordítása

A C# példa a következő fordítási követelményekkel rendelkezik:

Névterek

Rendszer

System.Collections.Generic

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Összeszerelés

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robusztus programozás

A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.

.NET-keretrendszer Security

A Configuration Manager alkalmazások biztonságossá tételével kapcsolatos további információkért lásd: Configuration Manager szerepköralapú felügyelet.

Lásd még

Objektumok áttekintése– Csatlakozás SMS-szolgáltatóhoz Configuration Manager felügyelt kód használatával
Csatlakozás SMS-szolgáltatóhoz Configuration Manager WMI használatával
Számítógépváltozó létrehozása Configuration Manager
Configuration Manager objektum létrehozása felügyelt kód használatával
Configuration Manager objektum létrehozása WMI használatával
Az operációs rendszer központi telepítésének számítógép-kezelésével kapcsolatos tudnivalók