Auflisten aller Programme und ihres maximalen Laufzeitwerts
In Configuration Manager können Sie alle Programme mit ihren maximalen Laufzeitwerten auflisten, indem Sie die SMS_Package
Klassen- und Klasseneigenschaften und SMS_Program
verwenden.
So listen Sie alle Programme und ihre maximalen Laufzeiten auf
Richten Sie eine Verbindung mit dem SMS-Anbieter ein.
Laden Sie die verfügbaren Pakete mithilfe der
SMS_Package
-Klasse.Führen Sie die einzelnen Programme mithilfe der
SMS_Program
-Klasse und derPackageID
-Eigenschaft aus den einzelnen Paketen auf.Geben Sie den Paketnamen, den Programmnamen und den maximalen Laufzeitwert für jedes Programm aus.
Beispiel
Die folgende Beispielmethode zeigt, wie alle Programme mit dem entsprechenden Paketnamen, dem Programmnamen und der maximalen Laufzeit aufgelistet werden.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.
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;
}
}
Die Beispielmethode verfügt über die folgenden Parameter:
Parameter | Typ | Beschreibung |
---|---|---|
connection |
-Verwalteten: WqlConnectionManager – VBScript: SWbemServices |
Eine gültige Verbindung mit dem SMS-Anbieter. |
Kompilieren des Codes
Für das C#-Beispiel ist Folgendes erforderlich:
Namespaces
System
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Mscorlib
Robuste Programmierung
Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.