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. […] Add-OdbcDsn […]

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

    […] […]

タイトルとURLをコピーしました