Guide pratique pour créer un programme
L’exemple suivant montre comment créer un programme, dans Configuration Manager, à l’aide des propriétés de classe SMS_Program
et de classe.
Importante
Tout programme publié ne peut pas s’exécuter lorsque les fenêtres de maintenance définies sur l’ordinateur client sont définies pour une période inférieure au paramètre Durée d’exécution maximale autorisée de ce programme. Pour plus d’informations, consultez Scénario d’exécution de programme à l’aide de Windows de maintenance dans la documentation Configuration Manager.
Pour créer un nouveau programme, procédez comme suit :
Configurez une connexion au fournisseur SMS.
Créez le nouvel objet de programme à l’aide de la
SMS_Program
classe .Renseignez 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 décrivent à quoi ces paramètres doivent être configurés.
Séquence de tâches
Nom de la propriété Valeur de la propriété ProgramName * 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}
Note: Les valeurs GUID proviennent du fichier manifeste XML de l’application virtuelle.ProgramName [Application virtuelle] 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 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 a 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 lorsque le programme est lancé. |
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# nécessite :
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, consultez À propos des erreurs Configuration Manager.