製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Dynamics CRM Cmdlets

PowerShell Cmdlets は、Dynamics CRM へのリアルタイム連携機能を提供します。Cmdlets を使って、データに直接連携し、読み書き更新をDB と同感覚で行うことができます。

データ連携でお困りですか?

お問い合わせ

PowerShell Cmdlets でDynamics CRM データをCSV にエクスポート


標準PowerShell cmdlets を使ってDynamics CRM テーブルにアクセスして、CSV にエクスポート。


dynamicscrm ロゴ画像
powershell ロゴ画像

Cmdlets

PowerShell ロゴ画像

CData Cmdlets Module for DynamicsCRM は、直感的なDynamics CRM データ連携を提供する標準cmdlet です。 本記事では、DynamicsCRM Cmdlets を使ったサンプルを提供します。

Dynamics CRM への接続を設定

Dynamics CRM では、インスタンスごとに接続文字列の設定が必要です。 Authentication セクションでは、有効なDynamics CRM のUser、Password の入力、およびDynamics CRM Server Organization root のURL を設定します。さらに、CRMVersion プロパティに、'CRM2011+' もしくは'CRMOnline' を設定します。IFD コンフィグレーションもサポートされていますので、InternetFacingDeployment をTRUE に設定してください。

また、Security Token Service(STS)、もしくはAD FS エンドポイントをSTSURL プロパティに設定することもできます。 この値はGetSTSUrl ストアドプロシージャで取得できます。 Office 365 ユーザーはデフォルトSTS URL にCRMVersion の設定だけで接続することができます。

$conn = Connect-DynamicsCRM  -User "$User" -Password "$Password" -URL "$URL" -CRM Version "$CRM Version"

Dynamics CRM データを取得してCSV にパイプライン

次の手順で、Account テーブルデータを取得して、結果をCSV ファイルにエクスポートします:

Select-DynamicsCRM -Connection $conn -Table Account | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myAccountData.csv -NoTypeInformation

このように、Select-DynamicsCRM から取得した結果を、Select-Object cmdlet に流し、Export-Csv cmdlet に渡す前にいくつかのプロパティを除外しています。これは、CData Cmdlets が接続情報、テーブル、およびカラム情報が結果セットのそれぞれの"行"に挿入されるためです。それらの情報を表示したくない場合に、Export-Csv cmdlet に渡す前に除外を先に行い、それからCSV ファイルにエクスポートします。。

CData Cmdlets から、次のCmdlets にデータをパイプラインするところでは、接続、テーブル、カラムの情報が必要です。

データの削除

以下のように、指定に合致するレコードを削除することができます:

Select-DynamicsCRM -Connection $conn -Table Account -Where "FirstName = Bob" | Remove-DynamicsCRM

データの挿入と更新

CData Cmdlets は、データの加工やクレンジングを行うことができます。以下の手順では、CSV ファイルのデータを、挿入対象のオブジェクトに同じレコードが存在するかを確認した上で、存在する場合にはデータの更新、存在しない場合にはデータの挿入を行います。

Import-Csv -Path C:\MyAccountUpdates.csv | %{
  $record = Select-DynamicsCRM -Connection $DynamicsCRM -Table Account -Where ("Id = `'"+$_.Id+"`'")
  if($record){
    Update-DynamicsCRM -Connection $dynamicscrm -Table Account -Columns ("FirstName","NumberOfEmployees") -Values ($_.FirstName, $_.NumberOfEmployees) -Where ("Id = `'"+$_.Id+"`'")
  }else{
    Add-DynamicsCRM -Connection $dynamicscrm -Table Account -Columns ("FirstName","NumberOfEmployees") -Values ($_.FirstName, $_.NumberOfEmployees)
  }
}

このように、CData Cmdlets でデータ連携をシンプルに構成できます。Cmdlets では、モジュールのインストール、接続プロパティの設定だけで、データ連携の構築を始めることができます。是非、CData PowerShell Cmdlets の無償試用版をダウンロードして、シンプルかつパワフルなデータ連携を体感してください。