Een programma maken
In het volgende voorbeeld ziet u hoe u in Configuration Manager een programma maakt met behulp van de SMS_Program
klasse- en klasse-eigenschappen.
Belangrijk
Een geadverteerd programma kan niet worden uitgevoerd wanneer de onderhoudsvensters die zijn gedefinieerd op de clientcomputer zijn ingesteld voor een periode die korter is dan de instelling Maximaal toegestane uitvoeringstijd van dat programma. Zie Scenario uitvoeren met onderhoudsvensters in de documentatie voor Configuration Manager voor meer informatie.
Een programma maken
Een verbinding met de SMS-provider instellen.
Maak het nieuwe programmaobject met behulp van de
SMS_Program
klasse.Vul de eigenschappen van het nieuwe programma in.
Tip
Wanneer u een programma voor een takenreeks of een virtueel toepassingspakket maakt, moeten de eigenschappen van de SMS_Program worden ingesteld op specifieke waarden. In de volgende tabellen wordt beschreven waarvoor deze instellingen moeten worden geconfigureerd.
Takenreeks
Eigenschapsnaam Eigenschapswaarde ProgramName * Virtueel toepassingspakket
Eigenschapsnaam Eigenschapswaarde Commandline PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}
Opmerking: De GUID-waarden worden opgehaald uit het XML-manifestbestand van de virtuele toepassing.ProgramName [Virtuele toepassing] Sla het nieuwe programma en de nieuwe eigenschappen op.
Voorbeeld
Met de volgende voorbeeldmethode maakt u een nieuw programma en vult u de eigenschappen ervan in voor gebruik in softwaredistributie.
Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.
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;
}
}
De voorbeeldmethode heeft de volgende parameters:
Parameter | Type | Beschrijving |
---|---|---|
connection swebemServices |
-Beheerd: WqlConnectionManager - VBScript: SWbemServices |
Een geldige verbinding met de SMS-provider. |
existingPackageID |
-Beheerd: String -Vbscript: String |
De naam van het pakket dat is gekoppeld aan het programma. |
newProgramName |
-Beheerd: String -Vbscript: String |
De naam voor het nieuwe programma. |
newProgramComment |
-Beheerd: String -Vbscript: String |
Opmerking waarin het programma in de Configuration Manager-console wordt beschreven. |
newProgramCommandLine |
-Beheerd: String -Vbscript: String |
De opdrachtregel die wordt uitgevoerd wanneer het programma wordt gestart. |
newMaxRunTime |
-Beheerd: Integer -Vbscript: Integer |
De geschatte duur, in minuten, van de uitvoering van het programma op de clientcomputer. Deze parameter kan een maximale waarde van 720 minuten of 12 uur hebben. |
De code compileren
Voor het C#-voorbeeld is het volgende vereist:
Naamruimten
Systeem
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Vergadering
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
Robuust programmeren
Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.