SMS_Program サーバー WMI クラス

SMS_Program Windows Management Instrumentation (WMI) クラスは、Configuration Manager では SMS プロバイダーのサーバー クラスで、ソフトウェアがクライアント コンピューターに配布されるときに実行するプログラムまたはコマンドを表します。

次の構文は、マネージ オブジェクト形式 (MOF) コードから簡素化されたもので、継承されたプロパティがすべて含まれます。

構文

Class SMS_Program : SMS_BaseClass
{
     UInt32 ActionInProgress;
     String ApplicationHierarchy;
     String CommandLine;
     String Comment;
     String DependentProgram;
     String Description;
     UInt32 DeviceFlags;
     String DiskSpaceReq;
     String DriveLetter;
     UInt32 Duration;
     UInt8 ExtendedData[];
     UInt32 ExtendedDataSize;
     UInt8 Icon[];
     UInt32 IconSize;
     UInt8 ISVData[];
     UInt32 ISVDataSize;
     String ISVString;
     String MSIFilePath
     String MSIProductID
     String PackageID;
     String PackageName
     UInt32 PackageType
     String PackageVersion
     UInt32 ProgramFlags;
     String ProgramName;
     String RemovalKey;
     String Requirements;
     UInt32 SecuredTypeID
     SMS_OS_Details SupportedOperatingSystems[];
     UInt32   TransformReadiness=0;
     Datetime TransformAnalysisDate;
     String   TransformDtID;
     String WorkingDirectory;
};

メソッド

SMS_Program クラスはメソッドを定義しません。

プロパティ

ActionInProgress データ型: UInt32

アクセスの種類: 読み取り専用

修飾子: [読み取り、列挙]

Configuration Manager によってプログラムに関連付けられているパッケージに対して実行されている現在のアクション。 使用可能な値は次のとおりです。

説明
0 なし
1 UPDATE
2 追加
3 DELETE

WHERE 句でこのプロパティを使用すると、削除対象としてマークされているがまだ削除されていないプログラムを除外できます。 詳細については、後述の「解説」セクションを参照してください。

ApplicationHierarchy データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムのアプリケーション階層。 既定値は "" です。

CommandLine データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムの起動時に実行されるコマンド ライン。 既定値は "" です。

Comment データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

Configuration Manager コンソールでプログラムについて説明するコメント。 既定値は "" です。

DependentProgram データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

このプログラムを実行する前に実行する必要があるプログラムを定義する書式設定されたテキスト文字列。 形式は <PackageID>;;< として定義されますProgramName>。 プログラムが同じパッケージ内にある場合、呼び出し元のアプリケーションは ;;< を指定するだけです。ProgramName>. 既定値は "" です。

依存関係は、プログラムが初めて実行されるときにのみ維持されます。 プログラムが実行された後、依存関係は無視されます。 たとえば、プログラムの実行ごとに依存関係が維持される定期スケジュールされたジョブを作成することはできません。

Description データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

不使用。

DeviceFlags データ型: UInt32

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムに関連付けられているデバイスを説明するフラグ。 使用可能な値は次のとおりです。

16 進数 (ビット) 説明
0x01000000 (24) 常にクライアントにプログラムを割り当てます。
0x02000000 (25) デバイスが現在高帯域幅接続 (既定では 60 KB/秒を超えている) にのみ割り当てます。
0x04000000 (26) デバイスがドッキングされている (つまり、ActiveSync を使用しているデスクトップに接続されている) 場合にのみ割り当てます。

DiskSpaceReq データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムが必要とするおおよそのディスク領域。 形式は "<size><KB|MB|GB>". 既定値は "" です。

この情報は、プログラムのディスク領域要件に関するアラートを提供するために、Configuration Manager コンソールと提供情報で使用されます。 その後、ユーザーは、提供情報を受け入れるか、最初にディスク管理タスクを実行するかを決定できます。

DriveLetter データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: [SizeLimit("1"), Range("a-z")]

プログラムのマップ先および実行元となるドライブ文字 (a から z の範囲内の 1 文字)。 既定値は "" です。

Duration データ型: UInt32

アクセスの種類: 読み取り/書き込み

修飾子: なし

クライアント コンピューターでのプログラム実行のおおよその所要時間 (分単位)。 この値は、0 以上の整数 (既定) または不明 (非推奨) として指定します。 このプロパティが [不明] に設定されている場合、Configuration Manager により最大実行時間が 720 分 (12 時間) に設定されます。 詳細については、後述の「解説」セクションを参照してください。

注:

クライアント コンピューターでは、発行されたプログラムに対して指定された値は、コントロール パネル のRun Advertised Programsに表示されます。

ExtendedData データ型: UInt8 配列

アクセスの種類: 読み取り/書き込み

修飾子: [large, lazy]

イメージ配置用の XML BLOB。

ExtendedDataSize データ型: UInt32

アクセスの種類: 読み取り/書き込み

修飾子: [lazy]

拡張データのサイズ (バイト単位)。 既定値は 0 です。

Icon データ型: UInt8 配列

アクセスの種類: 読み取り/書き込み

Qualifiers: [large]

Configuration Manager コンソールに表示される、プログラム アイコンに関連付けられているアイコン情報。

IconSize データ型: UInt32

アクセスの種類: 読み取り/書き込み

修飾子: [lazy]

プログラム アイコンのサイズ (バイト単位)。 アイコンをクリアするには、このプロパティを 0 に設定します。

ISVData データ型: UInt8 配列

アクセスの種類: 読み取り/書き込み

修飾子: [large, lazy]

単一の ISV が SMS_Program オブジェクトに関連するデータを格納できるようにする情報。

ISV データには制限や定義された形式はありません。 ただし、ISV の所有権が確立された後はプロパティを上書きしないことが重要です。 アプリケーションは、最初にこのプロパティの既存のデータを読み取る必要があります。 データがアプリケーションに属していない場合は、変更しないでください。 所有権を容易に確立できるように、プログラムのデータに識別子を含める必要があります。

ISVDataSize データ型: UInt32

アクセスの種類: 読み取り/書き込み

修飾子: [lazy]

ISVData に格納されるデータのサイズ (バイト単位)。 既定値は 0 です。

ISVString データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

パートナー拡張機能の文字列。

MSIFilePath データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムが関連付けられている Windows インストーラー パッケージのファイル パス。 既定値は "" です。

MSIProductID データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムが関連付けられている Windows インストーラー パッケージの製品 ID。 既定値は "" です。

PackageID データ型: String

アクセスの種類: 読み取り/書き込み

限定子: [key, Not_null]

プログラムを関連付ける既存のパッケージの ID。 詳細については、後述の「解説」セクションを参照してください。

PackageName データ型: String

アクセスの種類: 読み取り/書き込み

Qualifiers: [None]

プログラムが属するパッケージの名前。

PackageType データ型: String

アクセスの種類: 読み取り/書き込み

Qualifiers: [None]

プログラムが属するパッケージの種類。

説明
0 通常のソフトウェア配布パッケージ。
3 ドライバー パッケージ。
4 タスク シーケンス パッケージ。
5 ソフトウェア更新プログラム パッケージ。
6 デバイス設定パッケージ。
257 イメージ パッケージ。
258 ブート イメージ パッケージ。
259 オペレーティング システム インストール パッケージ。

PackageVersion データ型: String

アクセスの種類: 読み取り/書き込み

Qualifiers: [None]

プログラムが属するパッケージのバージョン。

ProgramFlags データ型: UInt32

アクセスの種類: 読み取り/書き込み

修飾子: [bits]

プログラムのインストール特性を識別するフラグ。 使用可能な値を以下に示します。 既定値は、EVERYUSER、USEUNCPATH、USERCONTEXT、および UNATTENDED です。

注:

プログラムで SMS_Program を使用する場合は、競合する値が選択されていないことを確認します。 たとえば、NOUSERLOGGEDIN と USERCONTEXT を一緒に使用しないでください。

使用可能な値は次のとおりです。

16 進数 (ビット) 説明
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL。 プログラムは動的インストールの承認を受けています。
0x00000002 (1) USECUSTOMPROGRESSMSG. タスク シーケンスには、カスタム進行状況ユーザー インターフェイス メッセージが表示されます。
0x00000010 (4) DEFAULT_PROGRAM。 これは既定のプログラムです
0x00000020 (5) DISABLEMOMALERTONRUNNING. プログラムの実行中に MOM アラートを無効にします。
0x00000040 (6) MOMALERTONFAIL. プログラムに障害が発生した場合は、MOM アラートを生成します。
0x00000080 (7) RUN_DEPENDANT_ALWAYS。 設定した場合、このプログラムの直接依存を常に実行する必要があります。
0x00000100 (8) WINDOWS_CE。 デバイス プログラムを示します。 設定されている場合、プログラムはデスクトップ クライアントには提供されません。
0x00000200 (9) この値は使用されません。
0x00000400 (10) カウントダウン。 カウントダウン ダイアログは表示されません。
0x00000800 (11) FORCERERUN. この値は使用されません。
0x00001000 (12) 無効。 プログラムが無効になります。
0x00002000 (13) 無人。 プログラムでは、ユーザーの操作は必要ありません。
0x00004000 (14) USERCONTEXT。 プログラムは、ユーザーがログオンしている場合にのみ実行できます。
0x00008000 (15) ADMINRIGHTS. プログラムは、ローカル管理者アカウントとして実行する必要があります。
0x00010000 (16) です。 プログラムは、プログラムが有効なすべてのユーザーによって実行される必要があります。 必須のジョブに対してのみ有効です。
0x00020000 (17) NOUSERLOGGEDIN. プログラムは、どのユーザーもログオンしていないときにのみ実行されます。
0x00040000 (18) OKTOQUIT。 プログラムによってコンピューターが再起動されます。
0x00080000 (19) OKTOREBOOT. プログラムが正常に実行を終了すると、Configuration Manager はコンピューターを再起動します。
0x00100000 (20) USEUNCPATH. UNC パス (ドライブ文字なし) を使用して配布ポイントにアクセスします。
0x00200000 (21) PERSISTCONNECTION. DriveLetter プロパティで指定されたドライブへの接続を保持します。 USEUNCPATH ビット フラグを設定しないでください。
0x00400000 (22) 実行最小化されます。 プログラムを最小化ウィンドウとして実行します。
0x00800000 (23) 最大化されます。 プログラムを最大化ウィンドウとして実行します。
x01000000 (24) HIDEWINDOW. プログラム ウィンドウを非表示にする。
0x02000000 (25) OKTOLOGOFF. プログラムが正常に完了したら、ユーザーをログオフします。
0x04000000 (26) 実行アカウントです。 この値は使用されません。
0x08000000 (27) ANY_PLATFORM。 プラットフォーム サポートのオーバーライド チェック。
0x10000000 (28) STILL_RUNNING。 この値は使用されません。
0x20000000 (29) SUPPORT_UNINSTALL。 提供情報の有効期限が切れたら、レジストリ キーからアンインストールを実行します。
0x40000000 (30) プラットフォームがサポートされていません。
0x80000000 (31) SHOW_IN_ARP。 この値は使用されません。

ProgramName データ型: String

アクセスの種類: 読み取り/書き込み

限定子: [key, Not_null]

このプログラムを表す一意の名前。

RemovalKey データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムのアンインストール スクリプトを識別するレジストリ キー。 スクリプトは、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall レジストリ パスに存在する必要があります。 既定値は "" です。

Requirements データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムの追加要件の説明。 既定値は "" です。

SecuredTypeID データ型: UInt32

アクセスの種類: 読み取り/書き込み

Qualifiers: [None]

関連パッケージのセキュリティで保護されたタイプ。

SupportedOperatingSystems データ型: SMS_OS_Details 配列

アクセスの種類: 読み取り/書き込み

修飾子: [lazy]

SMS_OS_Details プログラムを実行できるオペレーティング システムを表すサーバー WMI クラス オブジェクト。

ProgramFlags プロパティで ANY_PLATFORM を指定しない場合は、サポートされているオペレーティング システムを 1 つ以上指定する必要があります。 SMS_SupportedPlatforms サーバー WMI クラスは、Configuration Managerがサポートするプラットフォームの一覧を定義します。

TransformAnalysisDate データ型: DateTime

アクセスの種類: 読み取り/書き込み

Qualifiers: [None]

内部使用のみ。

TransformDtID データ型: String

アクセスの種類: 読み取り/書き込み

Qualifiers: [None]

内部使用のみ。

TransformReadiness データ型: UInt32

アクセスの種類: 読み取り/書き込み

Qualifiers: [None]

内部使用のみ。

WorkingDirectory データ型: String

アクセスの種類: 読み取り/書き込み

修飾子: なし

プログラムが実行される場所。 既定値は "" です。

作業ディレクトリには、クライアントの絶対パス、またはパッケージを含む配布ポイント フォルダーを基準としたパスを指定できます。 作業ディレクトリが指定されていない場合、Configuration Manager は既定の配布ポイント フォルダーを使用します。

注釈

このクラスには、特別なクラス修飾子はありません。 「プロパティ」セクションに含まれるクラス修飾子とプロパティ修飾子の両方の詳細については、「Configuration Manager のクラスとプロパティ修飾子」を参照してください。

プログラムは常に親パッケージに関連付けられ、通常はパッケージのインストール プログラムを表します。 複数のプログラムを同じパッケージに関連付けることができます。 アプリケーションでは、 PackageID プロパティを使用してこの関連付けを行います。 SMS_Program オブジェクトの作成後にアプリケーションでこのプロパティを変更することはできません。 プログラムを別のパッケージに関連付けるには、そのオブジェクトを削除し、新しい PackageID 値を持つ新しいオブジェクトを作成する必要があります。

アプリケーションが SMS_Program オブジェクトを削除すると、その提供情報などの関連コンポーネントが削除されるまで削除されません。 代わりに、Configuration Manager は ActionInProgress プロパティを DELETE (3) に設定して、プログラムを削除対象にマークします。 削除対象としてマークされているプログラムがクエリで取得されないようにするには、このケースを WHERE 句に追加します。

重要

プログラムが実行されているコレクションにメンテナンス期間を使用している場合、 Duration プロパティの値がスケジュールされたメンテナンス期間よりも長いと競合が発生する可能性があります。 このプロパティが [不明] に設定されている場合、プログラムはメンテナンス期間中に起動しますが、プログラムが完了するか、メンテナンス期間が閉じた後に失敗するまで実行し続けます。

Duration プロパティは次の 2 つの重要な目的に使用されるため、このプロパティを Unknown に設定しないことをお勧めします。

  • プログラムの結果を監視する。

  • クライアント コンピューターでメンテナンス期間が定義されている場合にプログラムが起動されるかどうかを確認する。

    アプリケーションで Duration プロパティが設定されているが、プログラムの実行時間がこの時間を超えると、Configuration Manager はプログラムの監視を停止しますが、プログラムは終了しません。 これにより、Configuration Manager は、他のアドバタイズされたプログラムの実行など、他のソフトウェア配布機能を続行できます。 マネージャーは次のことを行いません。

  • プログラムを停止します。

  • アドバタイズされたプログラムにマップされているすべてのドライブを解放します。

  • アドバタイズされたプログラムに対して行われたすべてのネットワーク接続を解放します。

  • アドバタイズされたプログラムの実行時に Configuration Manager によって使用される無料のオペレーティング システム リソース。

    詳細については、「 メンテナンス期間について」を参照してください。

要件

ランタイム要件

詳細については、「Configuration Manager サーバー ランタイム要件」を参照してください。

開発要件

詳細については、「Configuration Manager サーバー開発の要件」を参照してください。

関連項目

SMS_Package サーバー WMI クラスパッケージを作成する方法プログラムを作成する方法