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
Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Základy poskytovatele serveru SMS.
Získejte instanci SMS_CollectionSettings.
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.
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