CRM Package Deployer および Windows PowerShell を使用してパッケージを展開する

 

公開日: 2016年11月

対象: Dynamics CRM 2015

Microsoft Dynamics CRM Package Deployerを使用すると、管理者はMicrosoft Dynamics CRM (設置型)とMicrosoft Dynamics CRM Online のインスタンスにパッケージを展開できます。 「パッケージ」は、次の一部またはすべてで構成されます。

  • 1 つ以上のDynamics 365ソリューション ファイル。

  • フラット ファイル、または構成移行ツールからエクスポートされたデータ ファイル。構成移行ツールの詳細は、「構成データの管理」を参照してください。

  • パッケージ中またはその後に実行できるカスタム コードは、Microsoft Dynamics 365 に展開されます。

  • パッケージ展開プロセスの最初か最後に表示可能な、パッケージに固有の HTML コンテンツです。 これは、パッケージに展開されるソリューションおよびファイルの説明を提供するのに便利です。

開発者は、Microsoft Visual Studio でパッケージ展開テンプレートを使用して、パッケージを作成します。詳細:MSDN: CRM のパッケージ展開機能のパッケージを作成する

パッケージを作成したら、CRM パッケージ展開機能 を実行、またはツールの Windows PowerShell コマンドレットを使用して、パッケージを展開できます。

このトピックの内容

CRM パッケージ展開機能ツールを使用してパッケージを展開

Windows PowerShell を使用してパッケージを展開

ログ ファイルを使用してパッケージ展開に関する問題のトラブルシューティングを行う

パッケージを展開するためのベスト プラクティス

CRM パッケージ展開機能ツールを使用してパッケージを展開

パッケージ展開機能ツール は一度に 1 つのパッケージのみを処理できます。 ただし、ユーザーは、パッケージ展開機能ツール ディレクトリで利用できる複数のパッケージから、展開するパッケージを選択することができます。 ツール内の一部の画面と操作は、パッケージ定義に基づいて異なります。パッケージ展開機能ツール をインストールする必要はありません。 ダウンロードして実行するだけです。

  1. 展開するパッケージを取得します。 パッケージはファイルとフォルダーのコレクションで、パッケージ プロジェクトを Visual Studio で作成するときに Visual studio プロジェクト フォルダー (<Project>\Bin\Debug) に作成されます。 以下のものをプロジェクト デバッグ フォルダーからコピーします。

    • <PackageName> フォルダー: このフォルダーには、ソリューション、インポートの構成、およびパッケージのコンテンツが含まれています。

    • <PackageName>.dll: アセンブリにはパッケージのコードが含まれています。 既定では、アセンブリ名は Visual Studio のプロジェクト名と同じです。

    Visual Studio を使用したパッケージ作成の詳細は、「MSDN: パッケージ展開機能ツールのためにパッケージを作成」を参照してください。

    このトピックでは、Visual Studio プロジェクト デバッグ フォルダー (<Project>\Bin\Debug) から、パッケージ フォルダーおよびアセンブリが c:\DeployPackage フォルダーにコピーされていることを前提とします。

  2. Microsoft Dynamics CRM SDK パッケージをダウンロードします。 ダウンロードした実行可能ファイルを実行し、パッケージの内容を展開します。

  3. SDK\Tools\PackageDeployer フォルダーを参照し、パッケージ フォルダーとアセンブリを c:\DeployPackage から SDK\Tools\PackageDeployer フォルダーにコピーします。

  4. ファイルをコピーした後、SDK\Tools\PackageDeployer フォルダーの PackageDeployer.exe ファイルをダブルクリックして、ツールを実行します。

  5. ツールのメイン画面で [続行] をクリックします。

  6. [Microsoft Dynamics CRM に接続] 画面で、認証の詳細を指定し、パッケージを展開する Dynamics 365 サーバーに接続します。 組織が複数あり、パッケージを展開する組織を選択する場合、[使用可能な組織の一覧を常に表示する] チェック ボックスをオンにします。[ログイン] をクリックします。

  7. Dynamics 365 サーバーに複数の組織があり、[使用可能な組織の一覧を常に表示する] チェック ボックスをオンにした場合、次の画面で接続する組織を選択できます。 接続する Dynamics 365 組織を選択します。

  8. 次の画面で展開するパッケージを選択するように求められます。 パッケージの名前を選択し、[次へ] をクリックします。

    Package Deployer ツールでパッケージを選択します

  9. 次の画面の指示に従い、パッケージの展開を完了します。

    画面は、展開用に選択したパッケージの定義に基づいて表示されます。パッケージ展開機能ツールを使用する完全なパッケージ展開の場合は、Unified Service Desk パッケージの展開に関する次のトピックを参照してください。Package Deployer を使用したサンプル統合サービス デスク アプリケーションの CRM サーバーへの展開

Windows PowerShell を使用してパッケージを展開

また、パッケージ展開機能ツール では、パッケージを展開するための Windows PowerShell のサポートが用意されています。

パッケージを展開する PowerShell コマンドレットを使用するには、次の手順を実行します。

前提条件

コマンドレットの登録

パッケージを取得するコマンドレットの使用

CRM サーバーに接続するコマンドレットの使用

パッケージを展開するコマンドレットの使用

コマンドレットの詳細ヘルプの取得

前提条件

PowerShell を使用するための前提条件を以下に示します。

  • PowerShell を使用したパッケージの展開には、PowerShell 3.0 またはそれ以降が必要です。PowerShell のバージョンを確認するには、PowerShell ウィンドウを実行し、次のコマンド $Host を実行します。

  • 実行ポリシーを設定し、署名済みの PowerShell スクリプトをします。 それには、PowerShell ウィンドウを管理者として実行してから、コマンド Set-ExecutionPolicy -ExecutionPolicy AllSigned を実行します。

コマンドレットの登録

使用する前に、パッケージ展開機能ツール のために Windows PowerShell コマンドレットを登録する必要があります。 コマンドレットの登録。

  1. まだの場合、Dynamics 365 SDK のパッケージを Microsoft ダウンロード センター からダウンロードし、パッケージ ファイルを実行してパッケージの内容を抽出します。 パッケージをコンピューターの c:\CRM フォルダーにコピーしたと仮定します。パッケージ展開機能ツール および他の必須ファイルが、c:\CRM\SDK\Tools\PackageDeployer で利用できるようになります。

  2. Windows PowerShell をコンピューター上で、高い特権で実行します (管理者として実行)。

  3. Windows PowerShell ウィンドウのプロンプトが表示されてから、ディレクトリを PackageDeployer フォルダーの下の Windows PowerShell フォルダーに変更します。 この例の場合は以下の通りです。

    cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
    
  4. RegisterXRMTooling.ps1 スクリプトを実行して、Package Deployer Windows PowerShell アセンブリ (dll) を登録し、パッケージ展開機能ツール のための Windows PowerShell スナップインをインストールします。 そのためには、次のコマンドを入力し、ENTER キーを押します。

    .\RegisterXRMTooling.ps1
    
  5. XRM ツールのための Windows PowerShell スナップインを追加します。 これにより、コマンドレット Get-CrmConnection および Get-CrmOrganizations が登録されます。

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    
  6. パッケージ展開機能のための Windows PowerShell スナップインを追加します。 これにより、コマンドレット Get-CrmPackages および Import-CrmPackage が登録されます。

    Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
    

これで、これらの Windows PowerShell コマンドレットを使用する準備ができました。 登録済みのコマンドレットを一覧表示するには、Windows PowerShell ウィンドウのプロンプトに対して次のコマンドを実行します。

Get-Help “Crm”

パッケージを取得するコマンドレットの使用

コマンドレットを使用する前に、パッケージを PackageDeployer フォルダー (この場合は、c:\CRM\SDK\Tools\PackageDeployer) にコピー済みであることを確認します。 パッケージはファイルとフォルダーのコレクションで、Visual Studio でプロジェクトを作成時に Visual Studio プロジェクト フォルダー (<プロジェクト>\Bin\Debug) に作成されます。 プロジェクト デバッグ フォルダーの内容全体を [PackageDeployer] フォルダーにコピーします。Visual Studio を使用するパッケージ作成の詳細については、「MSDN: CRM のパッケージ展開機能のパッケージを作成する」を参照してください。

  1. PowerShell ウィンドウで、以下のコマンドレットを使用して、指定したディレクトリ (この例では、c:\CRM\SDK\Tools\PackageDeployer) でインポートできるパッケージのリストを返します。

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
    
  2. ディレクトリ内のパッケージの詳細が必要な場合は、[Get-CrmPackages] コマンドレットを [–PackageName] パラメーターと共に使用して、パッケージ定義を含むディレクトリのアセンブリ名を指定します。

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
    

CRM サーバーに接続するコマンドレットの使用

  1. Microsoft Dynamics CRM Online または Microsoft Dynamics CRM (設置型) インスタンスに接続する資格情報を入力します。 以下のコマンドを実行すると、Dynamics 365 インスタンスに接続するためのユーザー名とパスワードを入力するプロンプトが表示され、それらは CRM サーバーへの接続に使用するために $Cred 変数に保存されます。

    $Cred = Get-Credential
    
  2. Microsoft Dynamics CRM Online または Microsoft Dynamics CRM (設置型) インスタンスに接続するため、以下のコマンドを使用します。 接続情報は $CRMConn 変数に保存します。

    • Microsoft Dynamics CRM (設置型) インスタンスに接続する場合は以下の通りです。

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
      
    • Microsoft Dynamics CRM Online サーバーに接続する場合は以下の通りです。

      $CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred
      

      注意

      DeploymentRegion パラメーターの有効な値は、NorthAmericaEMEA、および APAC です。OnlineType パラメーターの有効な値は、Office365 および LiveID です。

  3. 手順 2 でコマンドを実行するときに、入力した資格情報が検証されます。

パッケージを展開するコマンドレットの使用

次に、$CRMConn 変数に保存された CRM 接続情報を使用して、パッケージを Dynamics 365 インスタンスに展開します。 パッケージを展開するには、次のコマンドを実行します。

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -Verbose

注意

  • CrmConnection、PackageDirectory、およびPackageName パラメーターは必須です。

  • PackageName パラメーターでは、パッケージ定義を含むアセンブリ名を指定する必要があります。

  • パッケージ展開時にパッケージ ファイルが解凍されない場合、UnpackFilesDirectory パラメーターを指定する必要はありません。 パッケージを Visual Studio で定義中、ImportConfig.xml ファイル内の agentdesktopzipfile パラメーターを使用して、ファイルを解凍するかどうか指定します。詳細:MSDN: CRM のパッケージ展開機能のパッケージを作成する

  • Verbose パラメーターはオプションで、パッケージ展開プロセス中に実行されるアクティビティの詳細ログを表示するために使用します。

コマンドレットの詳細ヘルプの取得

PowerShell ウィンドウで、Get-Help コマンドレットをコマンドレット名と共に使用して、そのコマンドレットの詳細ヘルプを表示します。 たとえば、Import-CrmPackage コマンドレットの詳細ヘルプを取得するには以下を実行します。

Get-Help Import-CrmPackage -full

コマンドレットのオンライン ヘルプを表示するには、「CRM PowerShell 参照」を参照してください。

ログ ファイルを使用してパッケージ展開に関する問題のトラブルシューティングを行う

パッケージ展開機能ツール では、誰かがツールおよび展開パッケージを使用して Microsoft Dynamics CRM にサインインするときに発生する可能性のある、エラー詳細情報を得るための、ログ記録をサポートしています。 ツールは、ツールを実行するコントロールの以下の場所で利用できる、3 つのログ ファイルを生成します。c:\Users\<ユーザー名>\AppData\Roaming\Microsoft\PackageDeployer\<バージョン>

  • Login_ErrorLog.log: ツールを使用して Dynamics 365 インスタンスにサインインするときに発生する問題に関する詳細を提供します。 サインイン時に問題がある場合は、ツールのログイン画面に、ログ ファイルへのリンクと共にメッセージが表示されます。 メッセージには、ログイン要求の処理中に発生したエラーが示され、ユーザーはエラー ログを表示できます。 メッセージ内のリンクをクリックすると、このログ ファイルを表示できます。 ログ ファイルは、最初にツールでサインインの問題が発生したときに作成されます。 その後、ログ ファイルは、サインインに関する問題が発生するときに、その情報を記録するために使用されます。

  • PackageDeployer.log: パッケージの展開時にツールで実行される各タスクに関する詳細情報を提供します。 画面の下部の [ログ ファイルの表示] リンクをクリックすると、ツールからのログ ファイルを表示できます。

  • ComplexImportDetail.log: ツールを使用した最後の展開でインポートされたデータに関する詳細情報を提供します。 このツールを使用してパッケージを展開するたびに、既存の詳細情報が、ログ ファイルから同じディレクトリにある ComplexImportDetail._old.log という名前のファイルに移動されます。ComplexImportDetail.log ファイルには、ツールを使用して行われる最新インポートの情報が表示されます。

パッケージを展開するためのベスト プラクティス

パッケージを展開するときに、Dynamics 365 管理者は、次を実行する必要があります。

  • アセンブリをソースまで追跡できるように、署名付きパッケージのアセンブリに要求します。

  • 運用環境サーバーで実行する前に、非運用インスタンス (可能であれば、運用環境インスタンスのミラー イメージ) でパッケージをテストします。

  • パッケージ展開前に、運用環境インスタンスをバックアップします。

関連項目

MSDN: CRM のパッケージ展開機能のパッケージを作成する
CRM 2015 の管理

© 2016 Microsoft Corporation. All rights reserved. 著作権