次の例は、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 のエラーについて」を参照してください。
関連項目
ソフトウェア配布の概要SMS_Package サーバー WMI クラスPowerShell コマンドレット: New-CMPackage