다음을 통해 공유


프로그램을 만드는 방법

다음 예제에서는 클래스 및 클래스 속성을 사용하여 SMS_Program Configuration Manager 프로그램을 만드는 방법을 보여줍니다.

중요

클라이언트 컴퓨터에 정의된 유지 관리 기간이 해당 프로그램의 최대 허용 런타임 설정보다 작은 기간 동안 설정된 경우 보급된 모든 프로그램이 실행되지 않습니다. 자세한 내용은 Configuration Manager 설명서의 유지 관리 기간을 사용하여 프로그램 실행 시나리오를 참조하세요.

프로그램을 만들려면

  1. SMS 공급자에 대한 연결을 설정합니다.

  2. 클래스를 사용하여 새 프로그램 개체를 만듭니다 SMS_Program .

  3. 새 프로그램 속성을 채웁 수 있습니다.

    작업 순서 또는 가상 애플리케이션 패키지에 대한 프로그램을 만들 때 SMS_Program 속성을 특정 값으로 설정해야 합니다. 다음 표에서는 이러한 설정을 구성해야 하는 사항을 간략하게 설명합니다.

    작업 순서

    속성 이름 속성 값
    ProgramName *

    가상 애플리케이션 패키지

    속성 이름 속성 값
    명령줄 PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}

    참고: GUID 값은 가상 애플리케이션의 XML 매니페스트 파일에서 가져옵니다.
    ProgramName [가상 애플리케이션]
  4. 새 프로그램 및 속성을 저장합니다.

예시

다음 예제 메서드는 새 프로그램을 만들고 소프트웨어 배포에 사용할 속성을 채웁니다.

샘플 코드 호출에 대한 자세한 내용은 코드 조각 Configuration Manager 호출을 참조하세요.


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

예제 메서드에는 다음 매개 변수가 있습니다.

매개 변수 형식 설명
connection

swebemServices
-관리: WqlConnectionManager
- VBScript: SWbemServices
SMS 공급자에 대한 유효한 연결입니다.
existingPackageID -관리: String
-Vbscript: String
프로그램과 연결된 패키지의 이름입니다.
newProgramName -관리: String
-Vbscript: String
새 프로그램의 이름입니다.
newProgramComment -관리: String
-Vbscript: String
Configuration Manager 콘솔의 프로그램을 설명하는 주석입니다.
newProgramCommandLine -관리: String
-Vbscript: String
프로그램이 시작될 때 실행되는 명령줄입니다.
newMaxRunTime -관리: Integer
-Vbscript: Integer
클라이언트 컴퓨터에서 프로그램 실행의 대략적 기간(분)입니다. 이 매개 변수의 최대 값은 720분 또는 12시간일 수 있습니다.

코드 컴파일

C# 예제에는 다음이 필요합니다.

네임 스페이스

시스템

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

어셈블리

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Mscorlib

강력한 프로그래밍

오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.

참고 항목

소프트웨어 배포 개요