次の例では、SMS_Package
クラスとクラスのプロパティを使用して、Configuration Managerでパッケージを作成する方法を示します。
パッケージを作成するには
SMS プロバイダーへの接続を設定します。
SMS_Package
クラスを使用して、新しいパッケージ オブジェクトを作成します。新しいパッケージ プロパティを設定します。
ヒント
仮想アプリケーション パッケージを作成するときは、
SMS_Package
プロパティを特定の値に設定する必要があります。SMS_VirtualApp
クラスのインスタンスは、次の表で説明するプロパティを使用するSMS_Package
クラスのインスタンスを参照する必要があります。仮想アプリケーション パッケージ
プロパティ名 プロパティ値 PackageType 7 PkgSourceFlag 2 PkgSourcePath \\someserver\somesharepath パッケージを保存します。
例
次のメソッド例では、新しいパッケージを作成し、そのプロパティを設定してソフトウェア配布で使用します。
サンプル コードの呼び出しについては、「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