Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I följande exempel visas hur du ändrar ett program i Configuration Manager med hjälp SMS_Package
av klasserna och SMS_Program
egenskaperna och .
Viktigt
Annonserade program kan inte köras när underhållsperioderna som definierats på klientdatorn har angetts för en period som är mindre än programmets Maximum allowed run time setting
. Mer information finns i avsnittet "Programkörningsscenario med underhållsperioder" i Configuration Manager-dokumentationen.
Ändra den maximala körningstiden för ett program
Konfigurera en anslutning till SMS-providern.
Fråga efter de program som är associerade med det befintliga paket-ID som tillhandahålls.
Räkna upp genom programmen tills en matchning för programnamnet hittas.
Ersätt den maximala körningstidsegenskapen för programmet med den som skickas till metoden .
Spara programobjektet och egenskaperna.
Exempel
Följande exempelmetod ändrar den maximala körningstiden för ett befintligt program.
Obs!
En liten variant av det här exemplet kan ändra egenskapsvärden för alla program som är associerade med ett specifikt paket. Ett exempel finns i kodexemplet How to List All Programs and Their Maximum Run Time Value (Visa alla program och deras högsta körningstid). En effektivare metod för att komma åt ett visst program finns dock i PackageID
ProgramName
kodexemplet Så här ändrar du programegenskaper .
Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.
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;
}
}
Exempelmetoden har följande parametrar:
Parameter | Typ | Beskrivning |
---|---|---|
connection swbemServices |
-Hanterade: WqlConnectionManager – VBScript: SWbemServices |
En giltig anslutning till SMS-providern. |
existingPackageID |
-Hanterade: String -Vbscript: String |
ID:t för ett befintligt paket som programmet ska associeras med. |
existingProgramNameToModify |
-Hanterade: String -Vbscript: String |
Namnet på programmet som ska ändras. |
newMaxRunTime |
-Hanterade: Integer -Vbscript: Integer |
Ny ungefärlig varaktighet, i minuter, för programkörning på klientdatorn. |
Kompilera koden
C#-exemplet kräver:
Namnområden
System
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Församlingen
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
Robust programmering
Mer information om felhantering finns i Om Configuration Manager fel.