Condividi tramite


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

  1. Configurare una connessione al provider SMS.

  2. Creare il nuovo oggetto programma usando la SMS_Program classe .

  3. 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]
  4. 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.

Vedere anche

Panoramica sulla distribuzione dei software