Come creare un programma
Nell'esempio seguente viene illustrato come creare un programma, in Configuration Manager, usando le proprietà della classe e della SMS_Program
classe .
Importante
Qualsiasi programma annunciato non verrà eseguito quando le finestre di manutenzione definite nel computer client vengono impostate per un periodo inferiore all'impostazione Tempo di esecuzione massimo consentito del programma. Per altre informazioni, vedere Program Run Scenario Using Maintenance Windows nella documentazione di Configuration Manager.
Per creare un programma
Configurare una connessione al provider SMS.
Creare il nuovo oggetto programma usando la
SMS_Program
classe .Popolare le nuove proprietà del programma.
Consiglio
Quando si crea un programma per una sequenza di attività o un pacchetto di applicazione virtuale, le proprietà SMS_Program devono essere impostate su valori specifici. Le tabelle seguenti illustrano a quali impostazioni devono essere configurate.
Sequenza di attività
Nome proprietà Valore proprietà ProgramName * Pacchetto dell'applicazione virtuale
Nome proprietà Valore proprietà Commandline PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}
Nota: I valori GUID vengono ricavati dal file manifesto XML dell'applicazione virtuale.ProgramName [Applicazione virtuale] Salvare il nuovo programma e le nuove proprietà.
Esempio
Il metodo di esempio seguente crea un nuovo programma e popola le relative proprietà per l'uso nella distribuzione software.
Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice 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;
}
}
Il metodo di esempio include i parametri seguenti:
Parametro | Tipo | Descrizione |
---|---|---|
connection swebemServices |
-Gestito: WqlConnectionManager - VBScript: SWbemServices |
Connessione valida al provider SMS. |
existingPackageID |
-Gestito: String -Vbscript: String |
Nome del pacchetto associato al programma. |
newProgramName |
-Gestito: String -Vbscript: String |
Nome del nuovo programma. |
newProgramComment |
-Gestito: String -Vbscript: String |
Commento che descrive il programma nella console Configuration Manager. |
newProgramCommandLine |
-Gestito: String -Vbscript: String |
Riga di comando eseguita all'avvio del programma. |
newMaxRunTime |
-Gestito: Integer -Vbscript: Integer |
Durata approssimativa, in minuti, dell'esecuzione del programma nel computer client. Questo parametro può avere un valore massimo di 720 minuti o 12 ore. |
Compilazione del codice
L'esempio C# richiede:
Namespaces
Sistema
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Mscorlib
Programmazione efficiente
Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.