XRMツールでは、次の Windows PowerShell コマンドレットを使用して Dynamics 365 Customer Engagement (on-premises) に接続し、現在のユーザーがアクセス権を持つ組織を取得できます: コマンドレットは Get-CrmConnection
と Get-CrmOrganizations
です。
Note
Dataverse ユーザー用の PowerShell コマンドレットに関するドキュメントが、Power Apps ドキュメントで利用できるようになりました: XRM ツールで PowerShell コマンドレットを使用して Dataverse に接続する
前提条件
XRM ツールのコマンドレットを使用するにはバージョン 3.0 以降の PowerShell が必要です。 バージョンを確認するには PowerShell のウィンドウを開き次のコマンドを実行します:
$Host
実行ポリシーを設定して署名済みの PowerShell スクリプトを実行します。 それには PowerShell ウィンドウを管理者として開き、次のコマンドを実行します:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Microsoft.Xrm.Tooling.CrmConnector.PowerShell cmdlet を取得する
PowerShell コマンドレットを使用する前に、インストールする必要があります。 XRMツール である PowerShell cmdlet は、PowerShell Gallery の こちら から入手できます。 cmdlet をダウンロードしてインストールするには
PowerShell または PowerShell ISE を管理モードで開き、次のコマンドを実行します:
Install-Module -Name Microsoft.Xrm.Tooling.CrmConnector.PowerShell
既にモジュールをインストールしている場合は、次のコマンドで更新できます:
Update-Module -Name Microsoft.Xrm.Tooling.CrmConnector.PowerShell
これで PowerShell コマンドレットを使用する準備ができました。 登録済みのコマンドレットを一覧表示するには PowerShell ウィンドウで次のコマンドを実行します:
Get-Help “Crm”
コマンドレットを使用して、Dynamics 365 Customer Engagement (on-premises) から組織を取得
Get-CrmOrganizations
コマンドレットを使用して、アクセスできる組織を取得します。
Dynamics 365 Customer Engagement (on-premises) インスタンスに接続する資格情報を入力します。 次のコマンドを実行すると Dynamics 365 Customer Engagement (on-premises) インスタンスに接続するためのユーザー名とパスワードの入力を要求され、それらは
$Cred
変数に保存されます。$Cred = Get-Credential
次のコマンドを使用して組織を取得し、その情報を
$CRMOrgs
変数に格納します。Dynamics 365 Server に接続する場合は、次のようになります。
$CRMOrgs = Get-CrmOrganizations –ServerUrl https://<CRM_Server_Host> –Credential $Cred
指定したホームレルムに対してクレームベース認証を使用して Dynamics 365 Server に接続する場合:
$CRMOrgs = Get-CrmOrganizations –ServerUrl https://<CRM_Server_Host> –Credential $Cred –HomRealmURL https://<Identity_Provider_Address>
手順 2 でコマンドを実行するときに、入力した資格情報が検証されます。 コマンドの実行が成功したら、次のコマンドを入力してから Enter キーを押し、アクセスできる組織を表示します。
$CRMOrgs
チップ
取得した Dynamics 365 Customer Engagement (on-premises) 組織を格納するために使用された変数 (この場合は、
$CRMOrgs
) を、Get-CrmConnection
コマンドレットとともに使用して、Dynamics 365 Customer Engagement (on-premises) に接続できます。 組織名を指定するには、コマンド$CRMOrgs.UniqueName
を使用します。$CRMOrgs
変数に格納されている組織の値が複数の場合は、コマンド$CRMOrgs[n-1]
を使用してnth
の組織を参照できます。 たとえば、$CRMOrgs
変数の 2 番目の組織の一意の名前を参照するには、コマンド$CRMOrgs[1].UniqueName
を使用します。
コマンドレットを使用して Dynamics 365 Customer Engagement (on-premises) に接続
Get-CrmConnection
コマンドレットを使用して Dynamics 365 Customer Engagement (on-premises) のインスタンスに接続する。 このコマンドレットにより、XRM ツール共通ログイン コントロールを使用して資格情報を指定して Dynamics 365 Customer Engagement (on-premises) に接続するか、または資格情報をインライン パラメーターとして指定することができます。 詳細: XRM ツールの共通ログイン コントロールを使用する
重要
Get-CrmConnection
コマンドレットを使用する前に、次のコマンドを使用して PowerShell によるTLS 1.2の使用を強制し、Dynamics 365 Customer Engagement (on-premises) インスタンスに接続してください。
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
Customer Engagement 接続に関する TLS 1.2 要件の詳細については、次を参照してください: ブログ投稿: Dynamics 365 Customer Engagement (on-premises) 接続セキュリティに関する更新
共通ログイン コントロールを使用して Dynamics 365 Customer Engagement (on-premises) に接続
共通ログイン コントロールを使用して資格情報を提供し、Dynamics 365 Customer Engagement (on-premises) に接続する場合は、次のコマンドを使用します。 接続情報は、後で使用できるように、
$CRMConn
変数に保存されます。$CRMConn = Get-CrmConnection -InteractiveMode
LoginControl ダイアログ ボックスが表示されます。 インスタンスに接続するための資格情報を指定し、ログインをクリックします。
資格情報をインラインで指定して Dynamics 365 Customer Engagement (on-premises) に接続
Dynamics 365 Customer Engagement (on-premises)に接続するには、次のコマンドを使用します。 これらのコマンドは、先に作成した
$Cred
変数を使用して、組織を取得すると同時に、資格情報を保存します。 接続情報は$CRMConn
変数に保存されます。Dynamics 365 Server に接続する場合は、次のようになります。
$CRMConn = Get-CrmConnection –ServerUrl https://<CRM_Server_Host> -Credential $Cred -OrganizationName <OrgName>
指定したホームレルムに対してクレームベース認証を使用して Dynamics 365 Server に接続する場合:
$CRMConn = Get-CrmConnection –ServerUrl https://<CRM_Server_Host> -Credential $Cred -OrganizationName <OrgName> –HomRealmURL https://<Identity_Provider_Address>
Note
前のすべてのコマンドの
OrganizationName
パラメーターについて、組織の一意の名前またはフレンドリ名を指定できます。 また、Get-CrmOrganizations
コマンドレットを使用して取得して$CRMOrgs
変数に保存した、組織の一意の名前またはフレンドリ名も使用できます。 たとえば、$CRMOrgs[x].UniqueName
または$CRMOrgs[x].FriendlyName
を使用できます。手順 1 でコマンドを実行するときに、入力した資格情報が検証されます。 コマンドレットの実行が成功したら、次のコマンドを入力してから Enter キーを押し、接続情報と状態を表示します。
$CRMConn
関連項目
XRMツールAPIを使用してDataverseに接続する
XRM ツールを使用して Windows のクライアント アプリケーションを作成する
ブログ: CRM でデータ操作を実行し、ユーザーおよびシステム設定を操作するための PowerShell モジュール