Set-OdbcDsn

Set-OdbcDsn

Configures properties for existing ODBC DSNs.

構文

Parameter Set: InputObject
Set-OdbcDsn [-InputObject] <CimInstance[]> [-AsJob] [-CimSession <CimSession[]> ] [-PassThru] [-RemovePropertyValue <String[]> ] [-SetPropertyValue <String[]> ] [-ThrottleLimit <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: Name
Set-OdbcDsn [-Name] <String> -DsnType <String> [-AsJob] [-CimSession <CimSession[]> ] [-DriverName <String> ] [-PassThru] [-Platform <String> ] [-RemovePropertyValue <String[]> ] [-SetPropertyValue <String[]> ] [-ThrottleLimit <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

詳細説明

The Set-OdbcDsn cmdlet configures the properties for existing Open Database Connectivity (ODBC) data source names (DSNs). Specify properties to add or modify by using the SetPropertyValue parameter. Specify properties to remove by using the RemovePropertyValue parameter.

Use the Add-OdbcDsn cmdlet to add a new DSN.

For more information about ODBC, data source names, and drivers, see Microsoft Open Database Connectivity (ODBC) (https://msdn.microsoft.com/en-us/library/ms710252.aspx), Data Sources (https://msdn.microsoft.com/en-us/library/ms711688.aspx), and Drivers (https://msdn.microsoft.com/en-us/library/ms715383.aspx) on the Microsoft Developer Network.

パラメーター

-InputObject<CimInstance[]>

Specifies an array of input objects. This cmdlet modifies the ODBC DSNs that the specified ODBC DSN objects represent. Specify a variable that contains the objects, or type a command or expression that gets the objects.

エイリアス

Dsn

必須?

true

位置は?

1

既定値

なし

パイプライン入力を許可する

True (ByValue)

ワイルドカード文字を許可する

false

-Name<String>

Specifies the name of an ODBC DSN. This cmdlet modifies the DSN that this parameter specifies. You can use wildcard characters to specify more than one ODBC DSN.

エイリアス

DsnName

必須?

true

位置は?

1

既定値

なし

パイプライン入力を許可する

True (ByPropertyName)

ワイルドカード文字を許可する

false

-DsnType<String>

Specifies the type of an ODBC DSN. This cmdlet modifies a DSN of the type that this parameter specifies. このパラメーターに対して使用できる値:

-- User
-- System
-- All

エイリアス

なし

必須?

true

位置は?

named

既定値

なし

パイプライン入力を許可する

True (ByPropertyName)

ワイルドカード文字を許可する

false

-Platform<String>

Specifies the platform architecture. This cmdlet modifies the ODBC DSN that belongs to the architecture that this parameter specifies. このパラメーターに対して使用できる値:

-- 32-bit
-- 64-bit
-- All

The default value is 32-bit on a 32-bit process. The default value is 64-bit on a 64-bit process. If you run this cmdlet in a remote CIM session, this parameter refers to the platform architecture on the remote computer.

エイリアス

なし

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

True (ByPropertyName)

ワイルドカード文字を許可する

false

-DriverName<String>

Specifies the name of a driver. This cmdlet modifies the ODBC DSN that uses the driver that this parameter specifies. You can use wildcard characters. If you do not specify this parameter, this cmdlet modifies DSNs for all drivers.

エイリアス

なし

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

True (ByPropertyName)

ワイルドカード文字を許可する

false

-SetPropertyValue<String[]>

Specifies an array of property values. This cmdlet modifies the properties that this parameter specifies for the ODBC DSN. Specify array of strings of the form <key>=<value>.

エイリアス

なし

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

True (ByPropertyName)

ワイルドカード文字を許可する

false

-RemovePropertyValue<String[]>

Specifies an array of property values to remove. This cmdlet removes the property values that this parameter specifies from the ODBC DSN. Specify an array of keys to remove.

エイリアス

なし

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

True (ByPropertyName)

ワイルドカード文字を許可する

false

-PassThru

作業中の項目を表すオブジェクトを返します。既定では、このコマンドレットによる出力はありません。

エイリアス

なし

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-AsJob

エイリアス

なし

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-CimSession<CimSession[]>

リモート セッションまたはリモート コンピューターでコマンドレットを実行します。New-CimSession コマンドレットや Get-CimSession コマンドレットの出力など、コンピューター名またはセッション オブジェクトを入力します。既定値は、ローカル コンピューターで実行中の現在のセッションです。

エイリアス

Session

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-ThrottleLimit<Int32>

このコマンドレットを実行するために確立できる最大同時操作数を指定します。このパラメーターを省略するか、値として 0 を入力した場合、Windows PowerShell® では、コンピューターで実行している CIM コマンドレットの数に基づいて、コマンドレットに対する最適なスロットル制限を計算します。スロットル制限は現在のコマンドレットのみに適用され、セッションまたはコンピューターには適用されません。

エイリアス

なし

必須?

false

位置は?

named

既定値

なし

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Confirm

コマンドレットを実行する前に、ユーザーに確認を求めます。

必須?

false

位置は?

named

既定値

false

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-WhatIf

コマンドレットを実行するとどのような結果になるかを表示します。コマンドレットは実行されません。

必須?

false

位置は?

named

既定値

false

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは次の共通パラメーターをサポートします。-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、-OutVariable.詳細については、以下を参照してください。 about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216)。

入力

入力型は、コマンドレットにパイプできるオブジェクトの型です。

出力

出力型は、コマンドレットによって生成されるオブジェクトの型です。

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

Example 1: Change a 64-bit ODBC DSN to use a specified database

This command changes the 64-bit ODBC System DSN named MyPayroll to use a database named Payroll. This example is designed for SQL Server drivers.

PS C:\> Set-OdbcDsn -Name "MyPayroll" -DsnType "System" -Platform "64-bit" -SetPropertyValue "Database=Payroll"

Example 2: Change a native platform ODBC DSN to use a specified database

This command changes the native platform ODBC System DSN named MyPayroll to use a database named Payroll. This example is similar to the previous example, but it does not specify the Platform parameter and, therefore, configures a DSN on the native platform.

PS C:\> Set-OdbcDsn -Name "MyPayroll" -DsnType "System" -SetPropertyValue "Database=Payroll"

Example 3: Change a User DSN to use Windows Authentication and a specified database

This command changes the specified 32-bit ODBC User DSN named MyPayroll from using SQL Server Authentication to using Windows Authentication. This example is designed for SQL Server drivers. Also, the command specifies a value of Payroll for the Database key.

PS C:\> Set-OdbcDsn -Name "MyPayroll" -DsnType "User" -Platform "32-bit" -RemovePropertyValue @("UID", "PWD") -SetPropertyValue @("Trusted_Connection=Yes", "Database=Payroll")

Example 4: Change specified DSNs to use a specified database file

This command changes all ODBC User DSNs and System DSNs on both platforms with names that contain Payroll and that use a driver named Microsoft Access Driver (*.mdb, *.accdb) to use the database file C:\payroll.accdb.

PS C:\> Set-OdbcDsn -Name "*Payroll*" -DsnType "All" -Platform "All" -DriverName "Microsoft Access Driver (*.mdb, *.accdb)" -SetPropertyValue 'Dbq=C:\payroll.accdb'

Example 5: Migrate all DSNs that use a driver with name that starts with a string

This command migrates the oldServer to newServer for all User DSNs and System DSNs that use a driver with name that starts with SQL Server.

PS C:\> Get-OdbcDsn -DriverName "SQL Server*" -DsnType "All" -Platform "All" | Where-Object{ ($_.Attribute["Server"] -eq "oldServer") } | Set-OdbcDsn -SetPropertyValue "Server=newServer"

Example 6: Change a 64-bit ODBC System DSN to use a specified database

This command changes the 64-bit ODBC System DSN named MyPayroll to use a database named Payroll, and then stores the result in the $sysDsn variable. The command includes the PassThru parameter. Without PassThru, the cmdlet does not return anything.

PS C:\> $sysDsn = Set-OdbcDsn -Name "MyPayroll" -DsnType "System" -Platform "All" -SetPropertyValue "Database=Payroll" -PassThru

Example 7: Migrates DSNs that use a driver with name that starts with a string by using a variable

This example migrates the oldServer to newServer for all User DSNs and System DSNs that use a driver with name that starts with SQL Server. The example uses the Get-OdbcDsn to get DSNs, and then store them in the $dsnArray variable.

PS C:\> $dsnArray = Get-OdbcDsn -DriverName "SQL Server*" | Where-Object{ ($_.Attribute["Server"] -eq "oldServer") }
PS C:\> Set-OdbcDsn -InputObject $dsnArray -SetPropertyValue "Server=newServer"

関連トピック

Add-OdbcDsn

Get-OdbcDsn

Remove-OdbcDsn

N:Wdac