Comment créer un programme

L’exemple suivant montre comment créer un programme, dans Configuration Manager, en utilisant la classe et les propriétés de SMS_Program classe.

Importante

Un programme publié ne peut pas s’exécuter si les fenêtres de maintenance définies sur l’ordinateur client sont définies pour une période inférieure au paramètre de temps d’exécution maximal autorisé de ce programme. Pour plus d’informations, voir Scénario d’exécution du programme utilisant des fenêtres de maintenance dans la documentation du Configuration Manager.

Pour créer un nouveau programme, procédez comme suit :

  1. Établissez une connexion au fournisseur SMS.

  2. Créez le nouvel objet programme à l’aide de la SMS_Program classe.

  3. Remplissez les nouvelles propriétés du programme.

    Conseil

    Lorsque vous créez un programme pour une séquence de tâches ou un package d’application virtuelle, les propriétés SMS_Program doivent être définies sur des valeurs spécifiques. Les tableaux suivants indiquent les paramètres qui doivent être configurés.

    Séquence de tâches

    Nom de la propriété Valeur de la propriété
    Nom du programme *

    Package d’application virtuelle

    Nom de la propriété Valeur de la propriété
    CommandLine PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06} :VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}

    Remarque : Les valeurs GUID sont extraites du fichier manifeste XML de l’application virtuelle.
    Nom du programme [Application virtuelle]
  4. Enregistrez le nouveau programme et les nouvelles propriétés.

Exemple

L’exemple de méthode suivant crée un programme et remplit ses propriétés pour une utilisation dans la distribution de logiciels.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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;
    }
}

L’exemple de méthode contient les paramètres suivants :

Paramètre Type Description
connection

swebemServices
- Géré : WqlConnectionManager
- VBScript : SWbemServices
Connexion valide au fournisseur SMS.
existingPackageID - Géré : String
- VBScript : String
Nom du package associé au programme.
newProgramName - Géré : String
- VBScript : String
Nom du nouveau programme.
newProgramComment - Géré : String
- VBScript : String
Commentaire décrivant le programme dans la console Configuration Manager.
newProgramCommandLine - Géré : String
- VBScript : String
Ligne de commande qui s’exécute au lancement du programme.
newMaxRunTime - Géré : Integer
- VBScript : Integer
Durée approximative, en minutes, de l’exécution du programme sur l’ordinateur client. Ce paramètre peut avoir une valeur maximale de 720 minutes ou 12 heures.

Compilation du code

L’exemple C# requiert :

Espaces de noms

Système

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

Microsoft.ConfigurationManagement.ManagementProvider

mscorlib

Programmation robuste

Pour plus d’informations sur la gestion des erreurs, voir À propos des erreurs du Configuration Manager.

Voir aussi

Vue d’ensemble de la distribution de logiciels