XRMツールにPowerShell cmdlets を使用して Microsoft Dataverseに接続する
XRM ツールでは、次の Windows PowerShell コマンドレットを使用して Dataverse に接続し、現在のユーザーがアクセス権を持つ組織を取得できます: Get-CrmConnection
および Get-CrmOrganizations
。
前提条件
XRM ツールのコマンドレットを使用するにはバージョン 3.0 以降の PowerShell が必要です。 バージョンを確認するには PowerShell のウィンドウを開き次のコマンドを実行します:
$Host
実行ポリシーを設定して署名済みの PowerShell スクリプトを実行します。 それには PowerShell ウィンドウを administrator として開き、次のコマンドを実行します:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Microsoft.Xrm.Tooling.CrmConnector.PowerShell cmdlet を取得する
Microsoft.Xrm.Tooling.CrmConnector.PowerShell cmdletを使用するには、インストールをする必要があります。 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
以上で、 Microsoft.Xrm.Tooling.CrmConnector.PowerShell cmdletを使用する準備ができました。 登録した関数を一覧表示するには、PowerShellウィンドウで次のコマンドを実行します:
Get-Help “Crm”
コマンドレットを使用して、Dataverse アプリから組織を取得
Get-CrmOrganizations
コマンドレットを使用して、アクセスできる組織を取得します。
Dataverse インスタンスに接続する資格情報を入力します。 次のコマンドを実行すると Dataverse インスタンスに接続するためのユーザー名とパスワードの入力を要求され、それらは
$Cred
変数に保存されます。$Cred = Get-Credential
次のコマンドを使用して組織を取得し、その情報を
$CRMOrgs
変数に格納しますDataverse インスタンスに接続している場合:
$CRMOrgs = Get-CrmOrganizations -Credential $Cred -DeploymentRegion NorthAmerica –OnlineType Office365
注意
DeploymentRegion
パラメーターの有効な値は、NorthAmerica
、EMEA
、APAC
、SouthAmerica
、Oceania
、JPN
、CAN
、IND
、およびNorthAmerica2
です。OnlineType
パラメーターの場合には、Office365
を指定します。
手順 2 でコマンドを実行するときに、入力した資格情報が検証されます。 コマンドの実行が成功したら、次のコマンドを入力してから Enter キーを押し、アクセスできる組織を表示します。
$CRMOrgs
ヒント
取得した Dataverse 組織を格納するために使用された変数 (この場合は、$CRMOrgs
) を、Get-CrmConnection
コマンドレットとともに使用して、Dataverse に接続できます。 組織名を指定するには、コマンド $CRMOrgs.UniqueName
を使用します。
$CRMOrgs
変数に格納されている組織の値が複数の場合は、コマンド $CRMOrgs[n-1]
を使用して nth
の組織を参照できます。 たとえば、$CRMOrgs
変数の 2 番目の組織の一意の名前を参照するには、コマンド $CRMOrgs[1].UniqueName
を使用します。
コマンドレットを使用して Dataverse アプリに接続
Get-CrmConnection
コマンドレットを使用して Dataverse のインスタンスに接続する。 このコマンドレットにより、XRM ツール共通ログイン コントロールを使用して資格情報を指定して Dataverse に接続するか、または資格情報をインライン パラメーターとして指定することができます。 詳細: XRM ツールの共通ログイン コントロールを使用する
重要
Get-CrmConnection
コマンドレットを使用する前に、次のコマンドを使用して PowerShell によるTLS 1.2の使用を強制し、Dataverse インスタンスに接続してください
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
Dataverse 接続に関する TLS 1.2 要件の詳細については、ブログ: Dataverse 接続セキュリティに関する更新を参照してください
共通ログイン コントロールを使用して Dataverse に接続
共通ログイン コントロールを使用して資格情報を提供し、Dataverse に接続する場合は、次のコマンドを使用します。 接続情報は、後で使用できるように、
$CRMConn
変数に保存されます。$CRMConn = Get-CrmConnection -InteractiveMode
LoginControl ダイアログ ボックスが表示されます。 Dataverse のインスタンスに接続するための資格情報を入力して ログイン をクリックします。
資格情報をインラインで指定して Dataverse アプリに接続
Dataverse に接続するには、次のコマンドを使用します。 これらのコマンドは、先に作成した
$Cred
変数を使用して、組織を取得すると同時に、資格情報を保存します。 接続情報は$CRMConn
変数に保存されます。Dataverse インスタンスに接続している場合
$CRMConn = Get-CrmConnection -Credential $Cred -DeploymentRegion <Deployment region name> –OnlineType Office365 –OrganizationName <OrgName>
注意
DeploymentRegion
パラメーターの有効な値は、NorthAmerica
、EMEA
、APAC
、SouthAmerica
、Oceania
、JPN
、CAN
、IND
およびNorthAmerica2
です。OnlineType
パラメーターの場合には、Office365
を指定します。注意
前のすべてのコマンドの
OrganizationName
パラメーターについて、組織の一意の名前またはフレンドリ名を指定できます。 また、Get-CrmOrganizations
コマンドレットを使用して取得して$CRMOrgs
変数に保存した、組織の一意の名前またはフレンドリ名も使用できます。 たとえば、$CRMOrgs[x].UniqueName
または$CRMOrgs[x].FriendlyName
を使用できます。
手順 1 でコマンドを実行するときに、入力した資格情報が検証されます。 コマンドレットの実行が成功したら、次のコマンドを入力してから Enter キーを押し、接続情報と状態を表示します。
$CRMConn
OAuth を使用した Dataverse への接続
OAuth 認証は、-InteractiveMode パラメーターを指定する場合に、XRM ツールによって内部的に使用されます。
$CRMConn = Get-CrmConnection -InteractiveMode
OAuth 認証は、AuthType=OAuth または AuthType=ClientSecret の場合に、接続文字列を使用する場合にも指定できます。
$CRMConn = Get-CrmConnection -ConnectionString "AuthType=ClientSecret;ClientId=..."
詳細情報: XRM ツールの接続文字列を使用して、Microsoft Dataverse に接続
参照
XRM ツール API を使用して Dataverse に接続する
XRM ツールを使用して Windows のクライアント アプリケーションを作成する
ブログ: Dataverse でデータ操作を実行し、ユーザーやシステム設定の操作に使用する PowerShell モジュール
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。