Cmdlets for Garoon

Build 24.0.9060

接続の確立

CData Cmdlets ユーザーは、データモジュールをインストールし、接続プロパティを設定してスクリプトを開始できます。このセクションでは、CSV インポートおよびエクスポートcmdlet などのネイティブPowerShell cmdlet でGaroon Cmdlets を使用する例を示します。

インストールおよび接続

PSGet がある場合は、PowerShell Gallery から次のコマンドを使ってcmdlet をインストールできます。CData サイトからセットアップを取得することもできます。

Install-Module GaroonCmdlets

プロファイルに以下を追加すると、次のセッションでcmdlet がロードされます。

Import-Module GaroonCmdlets;

Connect-Garoon cmdlet を使って、別のcmdlet に渡すことができる接続オブジェクトを作成します。

$conn = Connect-Garoon

Garoon への接続

認証値に加えて、下記のパラメータを使いGaroon に接続しデータを取得します。

  • Url:アカウントのURL。

NOTE:サポートされているバージョンで許容されるURL 形式は以下のとおりです。

  • Cloud 版:https://(subdomain).cybozu.com
  • Package 版(Windows 環境):http://(server IP address or host name)/scripts/(installation identifier)/grn.exe
  • Package 版(Linux 環境):http://(server IP address or host name)/cgi-bin/(installation identifier)/grn.cgi

Garoon への認証

Garoon は、以下の認証メソッドをサポートしています。

パスワード

Garoon への認証には、以下を設定する必要があります。

  • User:アカウントのユーザー名。
  • Password:アカウントのパスワード。
  • AuthScheme:AuthScheme をPassword に設定。

追加のセキュリティ

これまでに説明した認証スキームに加えて、Garoon はBasic 認証ヘッダーおよびSSL 証明書の形で追加のセキュリティを提供します。

Basic

Basic 認証を使用しているGaroon 環境では、追加のBasic 資格情報を渡す必要があります。そのためには、次を設定してください。

  • BasicAuthUser - Basic ログイン名。
  • BasicAuthPassword - Basic パスワード。

クライアントSSL

認証情報に加えて、リクエストの受け入れにSSL 証明書が必須となるようGaroon を設定することができます。そのためには、次を設定してください。

  • SSLClientCert - SSL 証明書の証明書を含むファイル。または、クライアント証明書のための証明書ストア名。
  • SSLClientCertType - 証明書の種類。
  • SSLClientCertSubject - (オプション)証明書ストアで証明書を検索する際に、ストア内でこのプロパティの値を含むサブジェクトを検索します。
  • SSLClientCertPassword - 証明書ストアでパスワードが必要とされる場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。

データの取得

Select-Garoon cmdlet はデータを取得するためのネイティブなPowerShell インターフェースを提供します。

$results = Select-Garoon -Connection $conn -Table "Events" -Columns @("Id, EventMenu") -Where "CreatorName='Bob'"
Invoke-Garoon cmdlet はSQL インターフェースを提供します。このcmdlet を使うと、Query パラメータを介してSQL クエリを実行できます。

cmdlet 出力のパイプ処理

cmdlet は行オブジェクトをパイプラインに一度に一行ずつ返します。以下は、結果をCSV ファイルにエクスポートします。

Select-Garoon -Connection $conn -Table Events -Where "CreatorName = 'Bob'" | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myEventsData.csv -NoTypeInformation

Select-Garoon からの結果をSelect-Object cmdlet にパイプして、Export-CSV cmdlet にパイプする前にいくつかのプロパティを実行していることがわかるでしょう。これをする理由は、CData Cmdlets は接続、テーブル、およびカラムの情報を結果セットの各行オブジェクトに追加しますが、必ずしもその情報がCSV ファイルに必要ではないからです。

ただし、これによってcmdlet の出力を別のcmdlet にパイプすることが容易になります。以下に、結果セットをJSON に変換する例を示します。

 
PS C:\> $conn  = Connect-Garoon
PS C:\> $row = Select-Garoon -Connection $conn -Table "Events" -Columns (Id, EventMenu) -Where "CreatorName = 'Bob'" | select -first 1
PS C:\> $row | ConvertTo-Json
{
  "Connection":  {

  },
  "Table":  "Events",
  "Columns":  [

  ],
  "Id":  "MyId",
  "EventMenu":  "MyEventMenu"
} 

データの削除

以下は、抽出条件に合うあらゆるレコードを削除します。

Select-Garoon -Connection $conn -Table Events -Where "CreatorName = 'Bob'" | Remove-Garoon

データの変更

cmdlet はデータクレンジング同様、データの変換を容易にします。次の例は、レコードがすでに存在するかどうか、挿入する前に更新が必要かどうかをチェックしてから、CSV ファイルのデータをGaroon にロードします。

Import-Csv -Path C:\MyEventsUpdates.csv | %{
  $record = Select-Garoon -Connection $conn -Table Events -Where ("Id = `'"+$_.Id+"`'")
  if($record){
    Update-Garoon -Connection $conn -Table Events -Columns @("Id","EventMenu") -Values @($_.Id, $_.EventMenu) -Where "Id  = `'$_.Id`'"
  }else{
    Add-Garoon -Connection $conn -Table Events -Columns @("Id","EventMenu") -Values @($_.Id, $_.EventMenu)
  }
}

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060