XRM ツール用の PowerShell コマンドレットを使用して Dynamics 365 に接続

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

XRM ツールは、Get-CrmConnectionGet-CrmOrganizations という Windows PowerShell コマンドレットを提供します。これらのコマンドレットを使用して、Microsoft Dynamics 365 に接続し、現在のユーザーがアクセスできる組織を取得できます。

このトピックの内容

前提条件

コマンドレットの登録

コマンドレットを使用して、Dynamics 365 から組織を取得

Dynamics 365 に接続するコマンドレットの使用

前提条件

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

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

コマンドレットの登録

PowerShell コマンドレットを使用する前に、登録する必要があります。

  1. Microsoft Dynamics CRM SDK パッケージをダウンロードします。 パッケージ ファイルを実行し、パッケージの内容を展開します。PowerShell アセンブリ (Microsoft.Xrm.Tooling.CrmConnector.Powershell.dll) とコマンドレット登録用のスクリプト (RegisterXRMTooling.ps1) は、SDK の \SDK\bin フォルダーにあります。

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

  3. プロンプトで、PowerShelldll ファイルとコマンドレット登録用のスクリプトを含むフォルダーにディレクトリを変更します。 たとえば、次のようになります。

    cd c:\SDK\bin
    
  4. RegisterXRMTooling.ps1 スクリプトを実行して、XRM ツールの PowerShell アセンブリを登録し、Windows PowerShell スナップインをインストールします。 次のコマンドを入力し、ENTER キーを押します。

    .\RegisterXRMTooling.ps1
    
  5. Windows PowerShell スナップインを追加します。 これは、Get-CrmConnection および Get-CrmOrganizations コマンドレットを登録します。

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    

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

Get-Help “Crm”

コマンドレットを使用して、Dynamics 365 から組織を取得

Get-CrmOrganizations コマンドレットを使用して、アクセスできる組織を取得します。

  1. Dynamics 365 (設置型) または Microsoft Dynamics 365 (オンライン) インスタンスに接続する資格情報を入力します。 次のコマンドを実行すると、Dynamics 365 インスタンスに接続するためのユーザー名とパスワードの入力が要求され、それらは $Cred 変数に保存されます。

    $Cred = Get-Credential
    
  2. 次のコマンドを使用して組織を取得し、その情報を $CRMOrgs 変数に格納します。

    • Dynamics 365 (設置型) サーバーに接続する場合は、次のようになります。

      $CRMOrgs = Get-CrmOrganizations –ServerUrl http://<CRM_Server_Host> –Credential $Cred
      
    • Microsoft Dynamics 365 (オンライン) インスタンスに接続する場合は、次のようになります。

      $CRMOrgs = Get-CrmOrganizations -Credential $Cred -DeploymentRegion NorthAmerica –OnlineType Office365
      

      注意

      DeploymentRegion パラメーターの有効な値は、NorthAmericaEMEAAPACSouthAmericaOceaniaJPNCANIND、および NorthAmerica2 です。OnlineType パラメーターには、Office365 を指定します。

    • 指定したホームレルムに対してクレームベース認証を使用して Dynamics 365 サーバーに接続する場合:

      $CRMOrgs = Get-CrmOrganizations –ServerUrl http://<CRM_Server_Host> –Credential $Cred –HomRealmURL http://<Identity_Provider_Address>
      
  3. 手順 2 でコマンドを実行するときに、入力した資格情報が検証されます。 コマンドの実行が成功したら、次のコマンドを入力してから Enter キーを押し、アクセスできる組織を表示します。

    $CRMOrgs
    

    コマンドレットによって返される組織の一覧

    ヒント

    取得した Dynamics 365 組織を格納するために使用された変数 (この場合は、$CRMOrgs) を、Get-CrmConnection コマンドレットとともに使用して、Dynamics 365 に接続できます。 組織名を指定するには、コマンド $CRMOrgs.UniqueName を使用します。

    $CRMOrgs 変数に格納されている組織の値が複数の場合は、コマンド $CRMOrgs[n-1] を使用して nth の組織を参照できます。 たとえば、$CRMOrgs 変数 ("SampleOrg") の 2 番目の組織の一意の名前を参照するには、コマンド $CRMOrgs[1].UniqueName を使用します。詳細:TechNet: 配列の値へのアクセスを参照してください。

Dynamics 365 に接続するコマンドレットの使用

Get-CrmConnection コマンドレットを使用して Dynamics 365 インスタンスに接続します。 このコマンドレットにより、XRM ツール共通ログイン コントロールを使用して資格情報を指定して Dynamics 365 に接続するか、資格情報をインライン パラメーターとして指定することができます。詳細:クライアント アプリケーションで、XRM ツール共通ログイン コントロールを使用する

共通ログイン コントロールを使用した Dynamics 365 への接続

  1. 共通ログイン コントロールを使用して資格情報を提供し、Dynamics 365 に接続する場合は、次のコマンドを使用します。 接続情報は、後で使用できるように、$CRMConn 変数に保存されます。

    $CRMConn = Get-CrmConnection -InteractiveMode
    
  2. [LoginControl] ダイアログ ボックスが表示されます。Dynamics 365 インスタンスに接続するための資格情報を指定し、[ログイン] をクリックします。

資格情報をインラインで指定して Dynamics 365 に接続

  1. Dynamics 365 に接続するには、次のコマンドを使用します。 これらのコマンドは、先に作成した $Cred 変数を使用して、組織を取得すると同時に、資格情報を保存します。 接続情報は $CRMConn 変数に保存されます。

    • Dynamics 365 (設置型) サーバーに接続する場合は、次のようになります。

      $CRMConn = Get-CrmConnection –ServerUrl http://<CRM_Server_Host> -Credential $Cred -OrganizationName <OrgName>
      
    • Microsoft Dynamics 365 (オンライン) インスタンスに接続する場合は、次のようになります。

      $CRMConn = Get-CrmConnection -Credential $Cred -DeploymentRegion <Deployment region name> –OnlineType Office365 –OrganizationName <OrgName>
      

      注意

      DeploymentRegion パラメーターの有効な値は、NorthAmericaEMEAAPACSouthAmericaOceaniaJPNCANIND および NorthAmerica2 です。OnlineType パラメーターには、Office365 を指定します。

    • 指定したホームレルムに対してクレームベース認証を使用して Dynamics 365 サーバーに接続する場合:

      $CRMConn = Get-CrmConnection –ServerUrl http://<CRM_Server_Host> -Credential $Cred -OrganizationName <OrgName> –HomRealmURL http://<Identity_Provider_Address>
      

    注意

    前のすべてのコマンドの OrganizationName パラメーターについて、組織の一意の名前またはフレンドリ名を指定できます。 また、CrmOrganizations コマンドレットを使用して取得して $CRMOrgs 変数に保存した、組織の一意の名前またはフレンドリ名も使用できます。 たとえば、$CRMOrgs[x].UniqueName または $CRMOrgs[x].FriendlyName を使用できます。

  2. 手順 1 でコマンドを実行するときに、入力した資格情報が検証されます。 コマンドレットの実行が成功したら、次のコマンドを入力してから Enter キーを押し、接続情報と状態を表示します。

    $CRMConn
    

    CRM 接続情報と状態

関連項目

CrmServiceClient コンストラクターを使用した Dynamics 365 への接続
XRM ツールを使用して Windows のクライアント アプリケーションを作成する
ブログ: PowerShell module for performing data operations and manipulating user and system settings in CRM (CRM でデータ操作を実行し、ユーザーおよびシステム設定を操作するための PowerShell モジュール)

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権