PowerShell でGaroon Data データをCSV に落としてみた

標準PowerShell cmdlets を使ってGaroon テーブルにアクセス。

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

Creating a Connection to Your Garoon Data

Garoon への認証は、パスワード認証、Basic 認証、クライアントSSL をサポートしています。

パスワード認証

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

  • Url:アカウントのURL。
  • User:アカウントのユーザー名。
  • Password:アカウントのパスワード。

Basic 認証

Basic 認証セキュリティ機能がドメインに設定されている場合は、BasicAuthUser とBasicAuthPassword の追加ログイン資格情報を指定します。Basic 認証ではUser とPassword に加えて、これらのクレデンシャルが必要です。

クライアントSSL

Basic 認証の代わりに、クライアント証明書を指定して本製品を認証できます。 SSLClientCert、SSLClientCertType、 SSLClientCertSubject、 およびSSLClientCertPassword を設定します。 さらに、User とPassword をGaroon のログイン資格情報に設定します。

$conn = Connect-Garoon  -User "$User" -Password "$Password" -Url "$Url"

Selecting Data

Follow the steps below to retrieve data from the Events table and pipe the result into to a CSV file:

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

You will notice that we piped the results from Select-Garoon into a Select-Object cmdlet and excluded some properties before piping them into an Export-Csv cmdlet. We do this because the CData Cmdlets append Connection, Table, and Columns information onto each "row" in the result set, and we do not necessarily want that information in our CSV file.

The Connection, Table, and Columns are appended to the results in order to facilitate piping results from one of the CData Cmdlets directly into another one.

Deleting Data

The following line deletes any records that match the criteria:

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

Inserting and Updating Data

The cmdlets make data transformation easy as well as data cleansing. The following example loads data from a CSV file into Garoon, checking first whether a record already exists and needs to be updated instead of inserted.

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

As always, our goal is to simplify the way you connect to data. With cmdlets users can install a data module, set the connection properties, and start building. Download Cmdlets and start working with your data in PowerShell today!

 
 
ダウンロード