Guide pratique pour répertorier tous les programmes et leur valeur d’exécution maximale
Dans Configuration Manager, vous pouvez répertorier tous les programmes avec leurs valeurs maximales d’exécution à l’aide des SMS_Package
classes et des propriétés de classe et SMS_Program
.
Pour répertorier tous les programmes et leurs durées d’exécution maximales
Configurez une connexion au fournisseur SMS.
Chargez les packages disponibles à l’aide de la
SMS_Package
classe .Énumérez chaque ensemble de programmes à l’aide de la
SMS_Program
classe et de laPackageID
propriété de chaque package.Affichez le nom du package, le nom du programme et la valeur maximale de la durée d’exécution pour chaque programme.
Exemple
L’exemple de méthode suivant montre comment répertorier tous les programmes, avec le nom du package, le nom du programme et les durées d’exécution maximales correspondantes.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.
Sub ListPackagesProgramsandMaximumRunTimeValue(connection)
Const wbemFlagReturnImmediately = 16 Const wbemFlagForwardOnly = 32 Dim packageQuery Dim allPackages Dim package Dim packageID Dim program Dim programsForPackage
' Build query to get all of the packages.
packageQuery = "SELECT * FROM SMS_Package"
' Run query.
Set allPackages = connection.ExecQuery(packageQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately)
' The query returns a collection of package objects that needs to be enumerated.
For Each package In allPackages
' Output package name and get the PackageID value to use in program query.
WScript.Echo ""
WScript.Echo "Package: " & package.Name
packageID = package.PackageID
' Build query to get the programs for the package.
packageQuery = "SELECT * FROM SMS_Program WHERE PackageID='" & packageID & "'"
' Run query.
Set programsForPackage = connection.ExecQuery(packageQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately)
' The query returns a collection of program objects that needs to be enumerated.
For Each program In programsForPackage
' Output Maximum Runtime Value for each program found.
WScript.Echo " Program: " & program.ProgramName
WScript.Echo " Maximum Runtime Value: " & program.Duration
Next
Next
End Sub
public void ListPackagesProgramsandMaximumRunTimeValue(WqlConnectionManager connection)
{
try
{
// Build query to get the packages.
string packageQuery = "SELECT * FROM SMS_Package";
// Load the specific program to change (programname is a key value and must be unique).
IResultObject allPackages = connection.QueryProcessor.ExecuteQuery(packageQuery);
// The query returns a collection of packages that needs to be enumerated.
foreach(IResultObject package in allPackages)
{
// Output package name and get the PackageID value to use in program query.
Console.WriteLine();
Console.WriteLine("Package: " + package["Name"].StringValue);
string packageID = package["PackageID"].StringValue;
// Build query to get the programs for the package.
string programQuery = "SELECT * FROM SMS_Program WHERE PackageID='" + packageID + "'";
// Load the all programs belonging to the package.
IResultObject programsForPackage = connection.QueryProcessor.ExecuteQuery(programQuery);
// The query returns a collection of programs that needs to be enumerated.
foreach(IResultObject program in programsForPackage)
{
// Output Maximum Runtime Value for each program found.
Console.WriteLine(" Program: " + program["ProgramName"].StringValue);
Console.WriteLine(" Maximum Runtime Value: " + program["Duration"].IntegerValue);
}
}
}
catch (SmsException ex)
{
Console.WriteLine("Failed to list the packages and programs. Error: " + ex.Message);
throw;
}
}
L’exemple de méthode a les paramètres suivants :
Paramètre | Type | Description |
---|---|---|
connection |
-Géré: WqlConnectionManager - VBScript : SWbemServices |
Connexion valide au fournisseur SMS. |
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.