🚧

PowerShell × Salesforce で複数環境のレコードを一括抽出(比較はWinMergeで)

に公開

PowerShell × Salesforce で複数環境のレコードを一括抽出&比較する

Salesforce と PowerShell を組み合わせて使うと、定期的なデータ取得開発環境の差分比較がとても効率的に行えます。

本記事では、以下の GitHub リポジトリをベースに、Production や Sandbox1/Sandbox2 など複数環境から同時にレコードを抽出し、SOQL 順の列で CSV 化する PowerShell スクリプトをご紹介します。

🔗 GitHubリポジトリはこちら


🧩 リポジトリ構成

  • connectionSettings.json
    接続先環境の認証情報を定義(名前・URL・clientId など)

  • soqlSettings.json
    オブジェクト名と SOQL クエリ、出力ファイル名を定義

  • ExportRecords_MultiEnv.ps1
    複数環境から SOQL を実行し、列順を整えた CSV として出力する PowerShell スクリプト


📂 実行後の出力構成

Output/
├── Sandbox1/
│   └── 20250731_195000/
│       ├── Account.csv
│       └── Opportunity.csv
└── Sandbox2/
    └── 20250731_195000/
        ├── Account.csv
        └── Opportunity.csv

Discussion