Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das folgende Beispiel zeigt, wie Ein Programm in Configuration Manager mithilfe der SMS_Package Klassen und SMS_Program Eigenschaften und geändert wird.
Wichtig
Jedes angekündigte Programm kann nicht ausgeführt werden, wenn die auf dem Clientcomputer definierten Wartungsfenster für einen Zeitraum festgelegt sind, der kleiner als der dieses Maximum allowed run time settingProgramms ist. Weitere Informationen finden Sie im Thema "Programmausführungsszenario mit Wartungsfenstern" in der Configuration Manager-Dokumentation.
So ändern Sie die maximale Laufzeit für ein Programm
Richten Sie eine Verbindung mit dem SMS-Anbieter ein.
Fragen Sie die Programme ab, die der vorhandenen Paket-ID zugeordnet sind.
Listen Sie die Programme auf, bis eine Übereinstimmung für den Programmnamen gefunden wird.
Ersetzen Sie die Eigenschaft für die maximale Laufzeit des Programms durch die Eigenschaft, die an die -Methode übergeben wird.
Speichern Sie das Programmobjekt und die Eigenschaften.
Beispiel
Die folgende Beispielmethode ändert die maximale Laufzeit für ein vorhandenes Programm.
Hinweis
Eine geringfügige Variation dieses Beispiels könnte Eigenschaftswerte für alle Programme ändern, die einem bestimmten Paket zugeordnet sind. Ein Beispiel finden Sie im Codebeispiel How to List All Programs and Their Maximum Run Time Value .For an example, see the How to List All Programs and Their Maximum Run Time Value . Eine effizientere Methode für den Zugriff auf ein bestimmtes Programm mithilfe von PackageID und ProgramNamefinden Sie im Codebeispiel Ändern von Programmeigenschaften .
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.
Sub ModifyProgram(connection, existingpackageID, existingProgramNameToModify, newMaxRunTime)
Const wbemFlagReturnImmediately = 16
Const wbemFlagForwardOnly = 32
Dim query
Dim programsForPackage
Dim program
' Build a query to get the programs for the package.
query = "SELECT * FROM SMS_Program WHERE PackageID='" & existingPackageID & "'"
' Run the query.
Set programsForPackage = connection.ExecQuery(query, , wbemFlagForwardOnly Or wbemFlagReturnImmediately)
' The query returns a collection that needs to be enumerated.
For Each program In programsForPackage
' If a match for the program name is found, make the change(s).
If program.ProgramName=existingProgramNameToModify Then
' Replace the existing package property (in this case the package description).
program.Duration = newMaxRunTime
' Save the program with the modified properties.
program.Put_
' Output program name.
wscript.echo "Modified program: " & program.ProgramName
Exit For
End If
Next
End Sub
public void ModifyProgram(WqlConnectionManager connection, string existingPackageID, string existingProgramNameToModify, int newMaxRunTime)
{
try
{
// Build query to get the programs for the package.
string query = "SELECT * FROM SMS_Program WHERE PackageID='" + existingPackageID + "'";
// Load the specific program to change (programname is a key value and must be unique).
IResultObject programsForPackage = connection.QueryProcessor.ExecuteQuery(query);
// The query returns a collection that needs to be enumerated.
foreach(IResultObject program in programsForPackage)
{
// If a match for the program name is found, make the change(s).
if (program["ProgramName"].StringValue == existingProgramNameToModify)
{
// Replace the existing package property (in this case the package description).
program["Duration"].IntegerValue = newMaxRunTime;
// Save the program with the modified properties.
program.Put();
// Output program name.
Console.WriteLine("Modified program: " + program["ProgramName"].StringValue);
}
}
}
catch (SmsException ex)
{
Console.WriteLine("Failed to modify the program. Error: " + ex.Message);
throw;
}
}
Die Beispielmethode verfügt über die folgenden Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
connectionswbemServices |
-Verwalteten: WqlConnectionManager– VBScript: SWbemServices |
Eine gültige Verbindung mit dem SMS-Anbieter. |
existingPackageID |
-Verwalteten: String-Vbscript: String |
Die ID eines vorhandenen Pakets, dem das Programm zugeordnet werden soll. |
existingProgramNameToModify |
-Verwalteten: String-Vbscript: String |
Der Name für das zu ändernde Programm. |
newMaxRunTime |
-Verwalteten: Integer-Vbscript: Integer |
Neue ungefähre Dauer der Programmausführung auf dem Clientcomputer in Minuten. |
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.