Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para crear una variable de colección para una colección de Configuration Manager, agregue instancias de SMS_CollectionVariable clase WMI de servidor a la CollectionVariables propiedad de SMS_CollectionSettings clase WMI de servidor.
Para crear una variable de colección
Configure una conexión al proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.
Obtener una instancia de SMS_CollectionSettings.
Para cada variable que se va a agregar, agregue instancias del objeto incrustado SMS_CollectionVariable a la propiedad de la matriz CollectionVariables .
Confirme los cambios en la instancia de clase
SMS_CollectionSettings.
Ejemplo
El método de ejemplo siguiente crea una variable de colección y la agrega a la colección identificada por el identificador proporcionado. Si el SMS_CollectionSettings objeto de la colección no existe, se crea.
Para obtener información sobre cómo llamar al código de ejemplo, consulte Llamar a fragmentos de código 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;
}
}
El método de ejemplo tiene los siguientes parámetros:
| Parámetro | Tipo | Descripción |
|---|---|---|
Connection |
- Administrado: WqlConnectionManager- VBScript: SWbemServices |
Una conexión válida con el proveedor de SMS. |
Name |
- Administrado: String- VBScript: String |
Nombre de la variable que se va a crear. |
Value |
- Administrado: String- VBScript: String |
El valor de la variable |
Mask |
- Administrado: Boolean- VBScript: Boolean |
Especifica si el valor se muestra en la consola de Configuration Manager.true - No se muestra el valor de la variable.false - Se muestra el valor de la variable. |
CollectionID |
- Administrado: String- VBScript: String |
Colección a la que se agrega la variable. |
Precedence |
- Administrado: Integer- VBScript: Integer |
La prioridad de la variable sobre otras variables de la matriz. |
Compilar el código
El ejemplo de C# tiene los siguientes requisitos de compilación:
Espacios de nombres
System
System.Collections.Generic
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Ensamblado
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Programación sólida
Para obtener más información acerca del control de errores, consulte Acerca de los errores de Configuration Manager.
Seguridad de .NET Framework
Para obtener más información acerca de cómo proteger las aplicaciones de Configuration Manager, consulte Administración basada en roles de Configuration Manager.
Consulta también
Introducción a los objetosCómo conectarse a un proveedor de SMS en Configuration Manager mediante código administradoCómo conectarse a un proveedor de SMS en Configuration Manager mediante WMICómo crear una variable de equipo en ConfigurationManagerCómo crear un Objeto de Configuration Manager mediante código administradoCómo crear un objeto de Configuration Manager mediante WMIAcerca de la implementación del sistema operativo Administración de equipos