Cómo crear un programa
En el ejemplo siguiente se muestra cómo crear un programa, en Configuration Manager, mediante las propiedades de SMS_Program
clase y clase.
Importante
Cualquier programa anunciado no se ejecutará cuando se establezcan las ventanas de mantenimiento definidas en el equipo cliente durante un período inferior al valor Máximo de tiempo de ejecución permitido de ese programa. Para obtener más información, vea Escenario de ejecución de programa mediante ventanas de mantenimiento en la documentación de Configuration Manager.
Para crear un programa:
Configure una conexión con el proveedor de SMS.
Cree el nuevo objeto de programa mediante la
SMS_Program
clase .Rellene las nuevas propiedades del programa.
Sugerencia
Al crear un programa para una secuencia de tareas o un paquete de aplicación virtual, las propiedades de SMS_Program deben establecerse en valores específicos. En las tablas siguientes se describe en qué debe configurarse esa configuración.
Secuencia de tareas
Nombre de la propiedad Valor de propiedad ProgramName * Paquete de aplicación virtual
Nombre de la propiedad Valor de propiedad CommandLine PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}
Nota: Los valores GUID se toman del archivo de manifiesto XML de la aplicación virtual.ProgramName [Aplicación virtual] Guarde el nuevo programa y las propiedades.
Ejemplo
El siguiente método de ejemplo crea un nuevo programa y rellena sus propiedades para su uso en la distribución de software.
Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de Configuration Manager.
Sub CreateProgram(connection, existingPackageID, newProgramName, newProgramComment, newProgramCommandLine, newMaxRunTime)
' Create the new program object. Dim newProgram
Set newProgram = connection.Get("SMS_Program").SpawnInstance_
' Populate the program properties.
newProgram.PackageID = existingPackageID
newProgram.ProgramName = newProgramName
newProgram.Comment = newProgramComment
newProgram.CommandLine = newProgramCommandLine
newProgram.Duration = newMaxRunTime
' Save the new program and properties.
newProgram.Put_
' Output new program name.
wscript.echo "Created program: " & newProgramName
End Sub
public void CreateProgram(WqlConnectionManager connection,
string existingPackageID,
string newProgramName,
string newProgramComment,
string newProgramCommandLine,
int newMaxRunTime)
{
try
{
// Create an instance of SMS_Program.
IResultObject newProgram = connection.CreateInstance("SMS_Program");
// Populate basic program values.
newProgram["PackageID"].StringValue = existingPackageID;
newProgram["ProgramName"].StringValue = newProgramName;
newProgram["Comment"].StringValue = newProgramComment;
newProgram["CommandLine"].StringValue = newProgramCommandLine;
newProgram["Duration"].IntegerValue = newMaxRunTime;
// Save the new program instance and values.
newProgram.Put();
Console.WriteLine("Created program: " + newProgramName);
}
catch (SmsException ex)
{
Console.WriteLine("Failed to create program. Error: " + ex.Message);
throw;
}
}
El método de ejemplo tiene los parámetros siguientes:
Parámetro | Tipo | Descripción |
---|---|---|
connection swebemServices |
-Administrado: WqlConnectionManager - VBScript: SWbemServices |
Una conexión válida al proveedor de SMS. |
existingPackageID |
-Administrado: String -Vbscript: String |
Nombre del paquete asociado al programa. |
newProgramName |
-Administrado: String -Vbscript: String |
Nombre del nuevo programa. |
newProgramComment |
-Administrado: String -Vbscript: String |
Comentario que describe el programa en la consola de Configuration Manager. |
newProgramCommandLine |
-Administrado: String -Vbscript: String |
Línea de comandos que se ejecuta cuando se inicia el programa. |
newMaxRunTime |
-Administrado: Integer -Vbscript: Integer |
Duración aproximada, en minutos, de la ejecución del programa en el equipo cliente. Este parámetro puede tener un valor máximo de 720 minutos o 12 horas. |
Compilar el código
El ejemplo de C# requiere:
Espacios de nombres
Sistema
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Ensamblado
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
Programación sólida
Para obtener más información sobre el control de errores, consulte Acerca de los errores de Configuration Manager.