Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie erstellen eine Sammlungsvariable für eine Configuration Manager Sammlung, indem Sie der Eigenschaft SMS_CollectionSettings Server WMI-Klasse Instanzen SMS_CollectionVariable Server WMI-KlasseCollectionVariables hinzufügen.
So erstellen Sie eine Sammlungsvariable
Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.
Verschaffen Sie sich eine instance von SMS_CollectionSettings.
Fügen Sie für jede hinzuzufügende Variable Instanzen des eingebetteten Objekts SMS_CollectionVariable zur Arrayeigenschaft CollectionVariables hinzu.
Führen Sie einen Commit der Änderungen in der
SMS_CollectionSettingsKlassen-instance durch.
Beispiel
Die folgende Beispielmethode erstellt eine Auflistungsvariable und fügt sie der durch den angegebenen Bezeichner identifizierten Auflistung hinzu. Wenn das SMS_CollectionSettings Objekt für die Sammlung nicht vorhanden ist, wird es erstellt.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager-Codeausschnitten.
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;
}
}
Die Beispielmethode hat die folgenden Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
Connection |
- Verwaltet: WqlConnectionManager- VBScript: SWbemDienste |
Eine gültige Verbindung mit dem SMS-Anbieter. |
Name |
- Verwaltet: String- VBScript: String |
Der Name der zu erstellenden Variablen. |
Value |
- Verwaltet: String- VBScript: String |
Der Wert der Variablen |
Mask |
- Verwaltet: Boolean- VBScript: Boolean |
Gibt an, ob der Wert in der Configuration Manager-Konsole angezeigt wird.true - Der Variablenwert wird nicht angezeigt.false - Der Variablenwert wird angezeigt. |
CollectionID |
- Verwaltet: String- VBScript: String |
Die Sammlung, der die Variable hinzugefügt wird. |
Precedence |
- Verwaltet: Integer- VBScript: Integer |
Die Rangfolge der Variablen vor anderen Variablen im Array. |
Kompilieren des Codes
Für das C#-Beispiel gelten die folgenden Anforderungen für die Kompilierung:
Namespaces
System
System.Collections.Generic
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Robuste Programmierung
Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager-Fehlern.
.NET Framework-Sicherheit
Weitere Informationen zum Sichern von Configuration Manager-Anwendungen finden Sie unter rollenbasierte Verwaltung von Configuration Manager.
Siehe auch
Objekte – ÜbersichtHerstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem CodeHerstellen einer Verbindung mit einem SMS-Anbieter im Configuration Manager mithilfe von WMISo erstellen Sie eine Computervariable in ConfigurationManagerSo erstellen Sie eine Configuration Manager-Objekt mithilfe von verwaltetem CodeErstellen eines Configuration Manager-Objekts mithilfe von WMI Informationen zurBetriebssystembereitstellung Computerverwaltung