Så här skapar du ett program

I följande exempel visas hur du skapar ett program i Configuration Manager med hjälp av SMS_Program egenskaperna class och class.

Viktigt

Alla annonserade program kan inte köras när underhållsfönstren som har definierats på klientdatorn är inställda på en period som är kortare än inställningen för Högsta tillåtna körtid för programmet. Mer information finns i Scenario: Programkörning med underhållsfönster i Configuration Manager -dokumentationen.

Skapa ett program

  1. Konfigurera en anslutning till SMS-leverantören.

  2. Skapa det nya programobjektet med hjälp av SMS_Program klassen.

  3. Fyll i de nya programegenskaperna.

    Tips

    När du skapar ett program för en uppgiftssekvens eller ett virtuellt programpaket måste de SMS_Program egenskaperna anges till specifika värden. Följande tabeller visar vad dessa inställningar ska konfigureras till.

    Uppgiftssekvens

    Egenskapsnamn Egendomsvärde
    Programnamn *

    Virtuellt programpaket

    Egenskapsnamn Egendomsvärde
    Kommandorad PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}

    Notera: GUID-värdena hämtas från det virtuella programmets XML-manifestfil.
    Programnamn [Virtuellt program]
  4. Spara det nya programmet och de nya egenskaperna.

Exempel

Följande exempelmetod skapar ett nytt program och fyller i dess egenskaper för användning i programvarudistribution.

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.


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;
    }
}

Exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
connection

swebemServices
- Hanterad: WqlConnectionManager
- VBScript: SWbemServices
En giltig anslutning till SMS-leverantören.
existingPackageID - Hanterad: String
- VBScript: String
Namnet på paketet som är associerat med programmet.
newProgramName - Hanterad: String
- VBScript: String
Namnet på det nya programmet.
newProgramComment - Hanterad: String
- VBScript: String
Kommentar som beskriver programmet i konsolen Configuration Manager.
newProgramCommandLine - Hanterad: String
- VBScript: String
Den kommandorad som körs när programmet startas.
newMaxRunTime - Hanterad: Integer
- VBScript: Integer
Den ungefärliga varaktigheten i minuter för programkörning på klientdatorn. Den här parametern kan ha ett maxvärde på 720 minuter eller 12 timmar.

Kompilerar koden

C#-exemplet kräver:

Namnområden

System

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Montering

adminui.wqlqueryengine

Microsoft.ConfigurationManagement.ManagementProvider

mscorlib

Robust programmering

Mer information om felhantering finns i Om Configuration Manager fel.

Se även

Översikt över programvarudistribution