次の方法で共有


パッケージを作成する方法

次の例では、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# の例では、次のものが必要です。

名前空間

System

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

mscorlib

堅牢なプログラミング

エラー処理の詳細については、「Configuration Manager エラーについて」を参照してください。

関連項目

サーバー WMI クラス PowerShell コマンドレットSMS_Packageソフトウェア配布の概要: New-CMPackage