Windows Server 2012のWDACで使用できるPowerShellコマンドレット (Add-OdbcDsn) について

スポンサーリンク

Windows Server 2012では、Windows Server 2008 R2からActive Directory (AD)やフェールオーバー クラスタリング (WSFC) といったサーバー管理におけるPowerShellコマンドレットが強化、および追加されました。

各役割および機能に関するPowerShellコマンドレットのヘルプについて、オンライン上で公開されていますが、現時点では主に英語のみで日本語の情報はあまり公開されていないようです。

ここでは、Windows Server 2012のWindowsデータ アクセス コンポーネント (WDAC)に関するPowerShellコマンドレットの情報について、日本語としてオンライン上で備忘録として確認したいと思い、本ブログ上で纏めてみました (内容については「Get-Help」コマンドレットの-Fullオプションを用いて実行した結果を編集、補足したものとなります)。

この記事では、「Add-OdbcDsn」コマンドレットについて記載します (他のコマンドレットについては、「Windows Server 2012のWDACで使用できるPowerShellコマンドレットについて」を参照)。

■名前

Add-OdbcDsn

■概要

システムにODBCデータ ソース名 (DSN)を追加します。

■構文

Add-OdbcDsn [-Name] <string> -DriverName <string>
     -DsnType <string> {User | System} [-SetPropertyValue <string[]>] [-PassThru]
     [-Platform <string> {32-bit | 64-bit}] [-CimSession <CimSession[]>]
     [-ThrottleLimit <int>] [-AsJob] [<CommonParameters>]

■説明

Add-OdbcDsnこまんどれっとは、システムにODBC DSNを追加します。SetPropertyValueパラメーターを指定することで新しいDSNのプロパティの追加が可能です。

Set-OdbcDsnコマンドレットを用いて新しいDSNをついかすることはできません。

ODBC、データソース名およびドライバに関する詳細な情報については、Microsoft Open Database Connectivity (ODBC)Data Sources、もしくはDriversを参照してください。

■パラメーター

-AsJob
バックグラウンド ジョブとして、コマンドレットを実行します。完了するまでに長時間要するコマンドを実行する場合、このパラメーターを使用します。 コマンドレットは、ジョブとして扱われるオブジェクトを返し、コマンドプロンプト上に表示します。ジョブが完了する間、セッション中で実行し続けることが可能です。ジョブを管理するために、*-Jobコマンドレットを使用済ます。ジョブの結果を得るためには、Receive-Jobコマンドレットを使用します。Windows PowerShellバックグランド ジョブに関する詳細な情報は、about_Jobsを参照してください。

エイリアスなし
必須false
位置named
既定値なし
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-CimSession <CimSession[]>
リモート セッション内、もしくはリモート コンピューター上でコマンドレットを実行します。New-CimSessionコマンドレット、もしくはGet-CimSessionコマンドレットの出力のようなコンピューター名、もしくはセッション オブジェクトをに入力します。 既定ではローカル コンピューター上のカレント セッションとなります。

エイリアスなし
必須false
位置named
既定値なし
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-DriverName <string>
新しいODBC DSNのためのODBCドライバー名。

エイリアスなし
必須true
位置named
既定値なし
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-DsnType <string>
追加するODBC DSNの型。指定可能な値は、「User」、「System」、および「All」です。

エイリアスなし
必須true
位置named
既定値なし
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-Name <string>
生成するODBC DSN名。

エイリアスなし
必須true
位置1
既定値なし
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-PassThru
パイプラインをとおしてコマンドレットで作成されたオブジェクトを通過します。既定では、コマンドレットはパイプラインをとおしてオブジェクトを取得することはできません。

エイリアスなし
必須false
位置named
既定値なし
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Platform <string>
追加するODBC DSNのプラットフォーム アーキテクチャを指定します。 指定可能な値は、「32-bit」、「64-bit」、および「All」です。 このコマンドがリモートCIMセッションで実行されるならば、これはリモート マシンのプラットフォーム アーキテクチャです。

エイリアスなし
必須false
位置named
既定値なし
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-SetPropertyValue <string[]>
新しいODBC DSNのプロパティ値を指定します。それぞれの列が、<key>=<value>となっている配列の形式となります。

エイリアスなし
必須false
位置named
既定値なし
パイプライン入力を許可するtrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-ThrottleLimit<Int32>
コマンドレットを実行するために設定することができる並列実行の最大数を指定します。このパラメータが省略される、もしくは値に0が入力される場合、Windows PowerShellは、コンピューター上で動作しているCIMコマンドレットの数に基づいて、コマンドレットに対する最適のスロットル制限を計算します。スロットル制限は、現在のコマンドレットのみに適用され、セッションもしくはコンピューターには適用されません。

エイリアスなし
必須false
位置named
既定値なし
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose-Debug-ErrorAction-ErrorVariable-WarningAction-WarningVariable-OutBuffer、および-OutVariable。詳細については、「about_commonparameters」と入力してヘルプを参照してください。

■入力

System.String
System.String[]

■出力

Microsoft.Management.Infrastructure.CimInstance[]
Microsoft.Management.Infrastructure.CimInstance#MSFT_OdbcDsn

■エイリアス

なし

■メモ

このコマンドレットを含むモジュールのヘルプ ファイルをダウンロードしてインストールするには、Update-Helpを使用してください。

■例

例1

 Add-OdbcDsn MyPayroll -DriverName &quot;Microsoft Access Driver (*.mdb, *.accdb)&quot; -DsnType User -Platform 32-bit -SetPropertyValue 'Dbq=C:mydatabase.accdb' 

例1:説明

このコマンドは、DBQプロパティが指定された「Microsoft Access Driver (*.mdb, *.accdb)” 」32ビット ドライバーが使用する「MyPayroll」という名の32ビットODBCユーザーDSNを追加します。-Nameパラメーターはの位置は、1 (一番最初) です。

例2

 Add-OdbcDsn MyPayroll -DriverName &quot;SQL Server Native Client 10.0&quot; -DsnType System -SetPropertyValue @(&quot;Server=MyServer&quot;, &quot;Trusted_Connection=Yes&quot;, &quot;Database=Payroll&quot;) 

例2:説明

このコマンドは、DSNプロパティを指定した「SQL Server Native Client 10.0」を使用した「MyPayroll」という名のODBCシステムDSNを追加します。プラットフォームの既定は、ネイティブ プラットフォームとなります。

例3

 $newDsn = Add-OdbcDsn MyPayroll -DriverName &quot;SQL Server Native Client 10.0&quot; -DsnType System -SetPropertyValue @(&quot;Server=MyServer&quot;, &quot;Trusted_Connection=Yes&quot;, &quot;Database=Payroll&quot;) -PassThru 

例3:説明

このコマンドは、例2と同じですが、将来の使用のために新しく作成されたシステムDSNオブジェクトを、PowerShell変数に格納します。 既定では、-PassThruパラメーターが指定さ®ていない場合、ドライバーオブジェクトは返しません。

例4

$dsnArr = Get-OdbcDsn -DriverName 'SQL Server Native Client 10.0'
foreach ($dsn in $dsnArr) {
     Remove-OdbcDsn $dsn
     Add-OdbcDsn –Name $dsn.Name -DsnType $dsn.DsnType -Platform $dsn.Platform -DriverName 'SQL Server Native Client 12.0' -SetPropertyValue $dsn.PropertyValue
}

例4:説明

このコマンドは、現在の「SQL Server Native Client 10.0」ドライバーから新しいバージョンを使用するDSNに移行します。このコマンドは、SQL Server Native Client ODBCドライバーで実施します。

■関連するリンク

  • Get-OdbcDsn 
  • Remove-OdbcDsn 
  • Set-OdbcDsn
  • Wdac

[参考]

コメント

  1. PowerShellの-PassThruパラメータについて « guitarrapc.wordpress.com より:

    […] […]