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]

単一の 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 クラス オブジェクト。

プロパティにANY_PLATFORMを ProgramFlags 指定しない場合は、サポートされているオペレーティング システムを 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 Managerプロパティを ActionInProgress DELETE (3) に設定して、プログラムに削除のマークを付けます。 クエリで削除対象としてマークされたプログラムが確実に取得されないようにするには、WHERE 句にこのケースを追加します。

重要

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

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

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

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

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

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

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

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

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

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

要件

ランタイム要件

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

開発要件

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

関連項目

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