CData PowerShell Cmdlets for PingOne はじめに:インストールから接続まで
このガイドでは、PingOne PowerShell Cmdlets の使い方を詳しく解説します。Cmdlet のインストール、初回接続の設定、クエリの実行、そして PowerShell で PingOne のデータ を操作するための次のステップをご紹介します。
インストールとライセンス認証
システム要件
CData PowerShell Cmdlets は、PowerShell が動作するあらゆる環境で実行できます。
Windows
- Windows 10/11
- Windows Server 2016 以降
- PowerShell 5.1 または PowerShell 7 以降
macOS / Linux
- PowerShell 7 以降
- 追加のシステムライブラリは不要
- アーキテクチャ固有のインストーラーは不要
Cmdlet のインストール
CData Cmdlets は PowerShell Gallery から配布されており、プラットフォーム間で簡単かつ一貫したインストールプロセスを実現しています。
インストール手順
- 管理者モードで PowerShell を開きます
- 以下のコマンドを実行して Cmdlet モジュールをインストールします:
Install-Module PingOneCmdlets -Repository PSGallery -Force
このコマンドは:
- 公式の PowerShell Gallery からモジュールをダウンロードします
- PowerShell 環境にインストールします
- すべての Cmdlet をすぐに使用できるように登録します
モジュールの確認
インストールを確認するには:
Get-Module -ListAvailable "*PingOne*"
ライセンス認証
Cmdlets は試用版と正規ライセンスの両方の認証に対応しています。
試用版ライセンス
試用版の認証は自動的に行われ、キーは不要です。インストール後すぐに Cmdlet を使用できます。
正規ライセンスの認証
正規ライセンスを購入された場合、CData Orders チームからプロダクトキーを受け取ります。
ライセンスの認証
以下のコマンドを実行します:
Set-ModuleLicense ""
認証が成功すると、確認メッセージが表示されます。
ライセンスに関するよくある質問
ライセンスは複数のマシンで使用できますか?
サブスクリプションプランによります。注文確認メールを確認するか、[email protected] までお問い合わせください。
ライセンスキーを紛失しました。どうすればよいですか?
注文番号を添えて [email protected] までメールでお問い合わせください。
ライセンスを別のマシンに移行できますか?
以下のリンクからライセンス移行リクエストを送信してください:https://www.cdata.com/lic/transfer/
ライセンスはどこで管理できますか?
CData カスタマーポータルにアクセスしてください:https://portal.cdata.com/
接続設定
モジュールがインストールされ、ライセンスが認証されたら、
Connect-PingOne cmdletを使用して PingOne への接続を確立できます。
必要な接続プロパティを取得したら、PowerShell で PingOne のデータ にアクセスしてレプリケーションを準備するには、基本的に 4 つのステップがあります。
PingOne に接続するには以下のプロパティを設定します。
- Region:自身のPingOne 組織のデータがホスティングされている地域。
- AuthScheme:PingOne に接続する際に使用する認証の種類。
- WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。
WorkerAppEnvironmentId の設定
WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。
はじめに、このプロパティの値を見つけます。
- 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
- OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
- 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
- リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
-
Environment ID フィールドの値をコピーします。
以下の例に似たものになるはずです:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
次に、WorkerAppEnvironmentId をEnvironment ID フィールドの値に設定します。
AuthorizationServerURL の設定
AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。
OAuth でのPingOne への認証
PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。
- ヘルプドキュメントのカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
- ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
- 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。
OAuth(認可コードグラント)
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
OAuth アクセストークンの取得およびリフレッシュ
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
- OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
- OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
- CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333
接続すると、CData 製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。
- ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
- OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。
ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。
Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
PingOne のデータ の取得
-
モジュールをインストールします:
Install-Module PingOneCmdlets
-
PingOne に接続します:
$pingone = Connect-PingOne -AuthScheme $AuthScheme -WorkerAppEnvironmentId $WorkerAppEnvironmentId -Region $Region -OAuthClientId $OAuthClientId -OAuthClientSecret $OAuthClientSecret
PowerShell での PingOne のデータ のクエリ
接続後、標準 SQL のようなコマンドを使用してデータをクエリできます。
クエリ例:
$results = Select-PingOne `
-Connection $conn `
-Table "[CData].[Administrators].Users" `
-Columns "Id,Username" `
-Where "Id != ''"
結果を表示します:
$results
これで PowerShell から PingOne のデータ にアクセスできるようになりました。
よくある問題
認証エラー
解決策: ユーザー名、パスワード、セキュリティトークンを確認してください。OAuth アプリケーションの場合、アプリケーションのセキュリティ設定で CData を認可する必要がある場合があります。認可のサポートについては [email protected] までお問い合わせください。
ネットワークまたはプロキシの問題
解決策: ファイアウォール設定とアウトバウンドアクセスを確認してください。ほとんどのクラウドアプリケーションはポート 443 を使用します。
Cmdlet が見つからない
解決策: モジュールがインストールされていることを確認してください -
Get-Module -ListAvailable "*PingOne*"
クエリが遅い
解決策:
- フィルターを追加してデータセットのサイズを削減してください
- サポートされている場合は $Limit または $Top プロパティを使用してください
- 最適化のサポートについては [email protected] までお問い合わせください
接続に関するその他のトラブルシューティングについては、具体的なエラーメッセージを添えて [email protected] までお問い合わせください。
次のステップ
PowerShell Cmdlets のインストール、ライセンス認証、接続設定が完了しました。以下のシナリオを参考に、さらに活用してみてください:
| PowerShell | 記事タイトル |
|---|---|
| Piping Cmdlets | PowerShell で PingOne のデータ を CSV にパイプする方法 |
| Replication | PowerShell スクリプトで PingOne のデータ を MySQL にレプリケートする |
サポート
ご不明な点がございましたら、お気軽にお問い合わせください:
- テクニカルサポート: [email protected]
- コミュニティフォーラム: CData Community Site
- ヘルプドキュメント: ローカルにインストールされているほか、オンラインでも参照可能です
FAQ(PowerShell Cmdlets)
インストールとライセンス
- Cmdlet のインストールには管理者権限が必要ですか?
- Windows PowerShell 5.1(Windows):管理者権限が推奨されます。特にすべてのユーザー向けにモジュールをインストールする場合に必要です。
- PowerShell 7 以降(Windows、macOS、Linux):以下のコマンドを使用することで、管理者権限なしで現在のユーザー向けに Cmdlet をインストールできます:
Install-Module PingOneCmdlets -Scope CurrentUser
- インストーラーをダウンロードする必要がありますか?
必ずしも必要ではありません。
CData PowerShell Cmdlets は PowerShell Gallery から配布されています。インストールは以下のコマンドで実行します:
Install-Module PingOneCmdlets -Repository PSGallery -Force
接続
- 同じデータソースの複数のアカウントに接続するにはどうすればよいですか?
異なる認証プロパティを持つ個別の接続オブジェクトを作成します:
$conn1 = Connect-PingOne -User User1 -Password Pwd1
$conn2 = Connect-PingOne -User User2 -Password Pwd2
Cmdlet は ODBC DSN を使用しません。すべての接続プロパティは
Connect-PingOneで直接渡されます。
多くの Cmdlet は以下のようなプロキシプロパティをサポートしています:
- ProxyServer
- ProxyPort
- ProxyUser
- ProxyPassword
データソース固有のヘルプドキュメントを参照してください。
パフォーマンスとトラブルシューティング
- クエリが遅いのはなぜですか?
- フィルターがない(WHERE 句がない)
- 大量の結果セットを取得している
- クラウド API からのレイテンシ
- 増分戦略を使用していない
- データをフィルタリングする(-Where パラメータ)
- 必要なカラムのみを選択する
- データソースの API スロットリング制限を確認する
- ログを有効にするにはどうすればよいですか?
よくある原因:
以下をお試しください:
クエリ最適化のサポートについては [email protected] までお問い合わせください。
以下のコマンドでモジュールのログを有効にします:
Set-ModuleLogging -Path "C:\logs\cdata.log" -Verbosity 3CData サポートと連携する際は、ログファイルを安全にアップロードしてください。
ほとんどのクラウドアプリケーション(Salesforce、HubSpot、Dynamics、Google API など)は HTTPS(443)を使用します。
ソースが追加のポートを必要とする場合は、固有のドキュメントを確認するか、[email protected] までお問い合わせください。
コンテナに PowerShell 7 をインストールし、モジュールをインストールします:
pwsh -Command "Install-Module PingOneCmdlets -Force"その後、通常どおり認証を行います。
一般
- サポートされているすべての SQL/コマンド操作はどこで確認できますか?
- PowerShell Cmdlets はどのくらいの頻度で更新されますか?
- コード例はどこで確認できますか?
- 基本的なクエリ
- Insert/Update/Delete
- OAuth フロー
- ファイル操作
- API 連携
各 Cmdlet にはローカルにインストールされたヘルプドキュメントが含まれており、オンラインでも参照可能です:https://www.cdata.com/powershell/
CData はメジャーアップデートを年次でリリースし、年間を通じて増分アップデートを行います。バージョンの入手可能性については、カスタマーポータルを確認するか、[email protected] までお問い合わせください。
すべての Cmdlet にはヘルプドキュメントに例が含まれており、多くのサービスのオンライン例も提供されています:https://www.cdata.com/powershell/ 例には以下が含まれます:
この FAQ で解決しない場合は、[email protected] までお問い合わせください。