次の方法で共有


プログラムを作成する方法

次の例では、クラスプロパティとクラスプロパティを使用して、Configuration Managerでプログラムを作成する方法をSMS_Program示します。

重要

クライアント コンピューターで定義されているメンテナンス期間が、そのプログラムの 最大許容実行時間設定より小さい期間に設定されている場合、アドバタイズされたプログラムは実行されません。 詳細については、Configuration Managerドキュメントの「メンテナンス ウィンドウを使用したプログラム実行シナリオ」を参照してください。

プログラムを作成するには

  1. SMS プロバイダーへの接続を設定します。

  2. クラスを使用して、新しいプログラム オブジェクトを SMS_Program 作成します。

  3. 新しいプログラムのプロパティを設定します。

    ヒント

    タスク シーケンスまたは仮想アプリケーション パッケージのプログラムを作成するときは、SMS_Programプロパティを特定の値に設定する必要があります。 次の表は、これらの設定を構成する必要がある内容の概要を示しています。

    タスク シーケンス

    プロパティ名 プロパティ値
    ProgramName *

    仮想アプリケーション パッケージ

    プロパティ名 プロパティ値
    CommandLine PkgGUID={E742FFD6-D539-42CC-9827-73535FC81E06}:VersionGUID={19366289-8C55-44E2-A5EC-7B385EFB4C30}

    メモ: GUID 値は、仮想アプリケーションの XML マニフェスト ファイルから取得されます。
    ProgramName [仮想アプリケーション]
  4. 新しいプログラムとプロパティを保存します。

次のメソッドの例では、新しいプログラムを作成し、そのプロパティを設定してソフトウェア配布で使用します。

サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。


Sub CreateProgram(connection, existingPackageID, newProgramName, newProgramComment, newProgramCommandLine, newMaxRunTime)  

    ' Create the new program object.    Dim newProgram  
    Set newProgram = connection.Get("SMS_Program").SpawnInstance_  

    ' Populate the program properties.  
    newProgram.PackageID = existingPackageID  
    newProgram.ProgramName = newProgramName  
    newProgram.Comment = newProgramComment  
    newProgram.CommandLine = newProgramCommandLine  
    newProgram.Duration = newMaxRunTime  

    ' Save the new program and properties.  
    newProgram.Put_  

    ' Output new program name.  
    wscript.echo "Created program: " & newProgramName  

End Sub  
public void CreateProgram(WqlConnectionManager connection,   
                          string existingPackageID,   
                          string newProgramName,   
                          string newProgramComment,   
                          string newProgramCommandLine,  
                          int newMaxRunTime)  
{  
    try  
    {  
        // Create an instance of SMS_Program.  
        IResultObject newProgram = connection.CreateInstance("SMS_Program");  

        // Populate basic program values.  
        newProgram["PackageID"].StringValue = existingPackageID;  
        newProgram["ProgramName"].StringValue = newProgramName;  
        newProgram["Comment"].StringValue = newProgramComment;  
        newProgram["CommandLine"].StringValue = newProgramCommandLine;  
        newProgram["Duration"].IntegerValue = newMaxRunTime;  

        // Save the new program instance and values.  
        newProgram.Put();  

        Console.WriteLine("Created program: " + newProgramName);  
    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to create program. Error: " + ex.Message);  
        throw;  
    }  
}  

このメソッドの例には、次のパラメーターがあります。

パラメーター 説明
connection

swebemServices
-管理: WqlConnectionManager
- VBScript: SWbemServices
SMS プロバイダーへの有効な接続。
existingPackageID -管理: String
-Vbscript: String
プログラムに関連付けられているパッケージの名前。
newProgramName -管理: String
-Vbscript: String
新しいプログラムの名前。
newProgramComment -管理: String
-Vbscript: String
Configuration Manager コンソールのプログラムを説明するコメント。
newProgramCommandLine -管理: String
-Vbscript: String
プログラムの起動時に実行されるコマンド ライン。
newMaxRunTime -管理: Integer
-Vbscript: Integer
クライアント コンピューターでのプログラム実行のおおよその時間 (分単位)。 このパラメーターの最大値は 720 分または 12 時間です。

コードのコンパイル

C# の例では、次のものが必要です。

名前空間

System

Microsoft。ConfigurationManagement.ManagementProvider

Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Mscorlib

堅牢なプログラミング

エラー処理の詳細については、「Configuration Manager エラーについて」を参照してください。

関連項目

ソフトウェア配布の概要