Share via


패키지를 만드는 방법

다음 예제에서는 클래스 및 클래스 속성을 사용하여 SMS_Package Configuration Manager 패키지를 만드는 방법을 보여줍니다.

패키지를 만들려면

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

  2. 클래스를 사용하여 새 패키지 개체를 만듭니다 SMS_Package .

  3. 새 패키지 속성을 채웁 수 있습니다.

    가상 애플리케이션 패키지를 만들 때 속성을 특정 값으로 설정 SMS_Package 해야 합니다. 클래스의 SMS_VirtualApp 인스턴스는 다음 표에 설명된 속성을 사용하는 클래스의 SMS_Package 인스턴스를 참조해야 합니다.

    가상 애플리케이션 패키지

    속성 이름 속성 값
    PackageType 7
    PkgSourceFlag 2
    PkgSourcePath \\someserver\somesharepath
  4. 패키지를 저장합니다.

예시

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

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


Sub CreatePackage(connection, newPackageName, newPackageDescription, newPackageSourceFlag, newPackageSourcePath)  

    ' Create the new package object.     Dim newPackage  
    Set newPackage = connection.Get("SMS_Package").SpawnInstance_  

    ' Populate the new package properties.  
    newPackage.Name = newPackageName  
    newPackage.Description = newPackageDescription  
    newPackage.PkgSourceFlag = newPackageSourceFlag  
    newPackage.PkgSourcePath = newPackageSourcePath  

    ' Save the package.  
    newPackage.Put_  

    ' Output the new package name.  
    wscript.echo "Created package: "  & newPackageDescription  

End Sub  
public void CreatePackage(WqlConnectionManager connection, string newPackageName, string newPackageDescription, int newPackageSourceFlag, string newPackageSourcePath)  
{  
    try  
    {  
        // Create new package object.  
        IResultObject newPackage = connection.CreateInstance("SMS_Package");  

        // Populate new package properties.  
        newPackage["Name"].StringValue = newPackageName;  
        newPackage["Description"].StringValue = newPackageDescription;  
        newPackage["PkgSourceFlag"].IntegerValue = newPackageSourceFlag;  
        newPackage["PkgSourcePath"].StringValue = newPackageSourcePath;  

        // Save new package and new package properties.  
        newPackage.Put();  

        // Output new package name.  
        Console.WriteLine("Created package: " + newPackageName);  
    }  

    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to create package. Error: " + ex.Message);  
        throw;  
    }  
}  

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

매개 변수 형식 설명
connection -관리: WqlConnectionManager
- VBScript: SWbemServices
SMS 공급자에 대한 유효한 연결입니다.
newPackageName -관리: String
-Vbscript: String
새 패키지의 이름입니다.
newPackageDescription -관리: String
-Vbscript: String
새 패키지에 대한 설명입니다.
newPackageSourceFlag -관리: Integer
-Vbscript: Integer
패키지 원본입니다.
newPackageSourcePath -관리: String
-Vbscript: String
패키지 원본에 대한 경로입니다.

코드 컴파일

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

네임 스페이스

시스템

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

어셈블리

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Mscorlib

강력한 프로그래밍

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

참고 항목

소프트웨어 배포 개요SMS_Package 서버 WMI 클래스
PowerShell Cmdlet: New-CMPackage