次の方法で共有


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 KBps を超えます)。
0x04000000 (26) デバイスがドッキングされている場合、つまり ActiveSync を使用しているデスクトップに接続されている場合にのみ割り当てます。

DiskSpaceReq データ型: String

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

修飾子: なし

プログラムに必要なディスク領域の概算。 形式は "<size><KB|MB|GB>" 既定値は "" です。

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

DriveLetter データ型: String

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

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

プログラムがマップして実行するドライブ文字 (a から z の範囲の 1 文字)。 既定値は "" です。

Duration データ型: UInt32

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

修飾子: なし

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

注:

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

ExtendedDataデータ型: 配列UInt8

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

修飾子: [large, lazy]

イメージデプロイ用の XML BLOB。

ExtendedDataSize データ型: UInt32

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

修飾子: [lazy]

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

Iconデータ型: 配列UInt8

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

修飾子: [large]

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

IconSize データ型: UInt32

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

修飾子: [lazy]

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

ISVDataデータ型: 配列UInt8

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

修飾子: [large, lazy]

1 つの 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

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

修飾子: [なし]

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

PackageType データ型: String

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

修飾子: [なし]

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

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

PackageVersion データ型: String

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

修飾子: [なし]

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

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) EVERYUSER。 プログラムは、有効なユーザーごとに実行する必要があります。 必須ジョブに対してのみ有効です。
0x00020000 (17) NOUSERLOGGEDIN。 プログラムは、ユーザーがログオンしていない場合にのみ実行されます。
0x00040000 (18) OKTOQUIT。 プログラムがコンピューターを再起動します。
0x00080000 (19) OKTOREBOOT。 Configuration Managerプログラムの正常な実行が完了すると、コンピューターが再起動されます。
0x00100000 (20) USEUNCPATH。 配布ポイントにアクセスするには、UNC パス (ドライブ文字なし) を使用します。
0x00200000 (21) PERSISTCONNECTION。 DriveLetter プロパティで指定されたドライブへの接続を保持します。 USEUNCPATH ビット フラグは設定しないでください。
0x00400000 (22) RUNMINIMIZED。 最小化されたウィンドウとしてプログラムを実行します。
0x00800000 (23) RUNMAXIMIZED。 最大化されたウィンドウとしてプログラムを実行します。
x010000000 (24) HIDEWINDOW。 プログラム ウィンドウを非表示にします。
0x02000000 (25) OKTOLOGOFF。 プログラムが正常に完了したときにログオフ ユーザー。
0x04000000 (26) RUNACCOUNT。 この値は使用されません。
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

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

修飾子: [なし]

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

SupportedOperatingSystemsデータ型: 配列SMS_OS_Details

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

修飾子: [lazy]

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

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

TransformAnalysisDate データ型: DateTime

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

修飾子: [なし]

内部使用のみ。

TransformDtID データ型: String

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

修飾子: [なし]

内部使用のみ。

TransformReadiness データ型: UInt32

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

修飾子: [なし]

内部使用のみ。

WorkingDirectory データ型: String

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

修飾子: なし

プログラムの実行元の場所。 既定値は "" です。

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

解説

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

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

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

重要

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

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

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

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

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

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

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

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

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

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

要件

ランタイム要件

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

開発要件

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

関連項目

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