Я ищу способ перенести несколько подключений DSN пользователя (ODBC) со старого сервера на новый новый сервер.

В реестре я могу видеть только сохраненные пользовательские DSN-соединения моего собственного пользователя, есть ли способ экспортировать пользовательские DSN-соединения всех пользователей (всего 15), чтобы им не пришлось вручную устанавливать свои DSN-соединения на новый сервер?

Спасибо!

С уважением

2 ответа2

2

если установлены драйверы, вы можете использовать следующий скрипт PowerShell:

$OldDsn = Invoke-Command -ComputerName OldServer { get-odbcdsn } | % { 
    $splat = @{}
    if ($_.PropertyValue) { $splat['SetPropertyValue'] = $_.PropertyValue }
    Add-OdbcDsn -Name $_.Name -DsnType $_.DsnType -Platform $_.Platform `
                -DriverName $_.DriverName @splat
}

Запустите это на новом сервере в PowerShell / ISE с повышенными правами и измените параметр Invoke-Command для параметра ComputerName на имя вашего старого сервера.

0
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\

Файл c:\windows\odbc.ini также дублирует некоторую информацию.

C:\Windows\ODBCINST.INI содержит только информацию о драйвере.

Это НЕ ЗАМЕНА для фактической установки драйверов!

В ODBCINST.INI есть соответствующие ключи реестра

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\
HKEY_CURRENT_USER\Software\ODBC\ODBCINST.INI\

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .