Windows 创建ODBC连接的脚本

Windows 创建ODBC连接的脚本,windows,scripting,odbc,sms,sccm,Windows,Scripting,Odbc,Sms,Sccm,我需要通过SMS/SCCM部署一些软件,该软件要求在Windows中创建ODBC连接。给我的连接信息需要用户名和密码。我有一个批处理脚本将连接信息导入注册表,但是我不知道如何将用户名和密码输入。我想编写脚本或将其放入某种可分发的包中 谢谢, -Mathew以下是如何使用或直接编辑ODBC注册表设置的示例。您可以使用以下脚本: %WINDIR%\System32\odbcconf.exe CONFIGDSN "SQL Server" "DSN=ControltubProducao|Descript

我需要通过SMS/SCCM部署一些软件,该软件要求在Windows中创建ODBC连接。给我的连接信息需要用户名和密码。我有一个批处理脚本将连接信息导入注册表,但是我不知道如何将用户名和密码输入。我想编写脚本或将其放入某种可分发的包中

谢谢,
-Mathew以下是如何使用或直接编辑ODBC注册表设置的示例。

您可以使用以下脚本:

%WINDIR%\System32\odbcconf.exe CONFIGDSN "SQL Server" "DSN=ControltubProducao|Description=ControltubProducao|SERVER=10.23.22.18|Trusted_Connection=No|Database=Controltub"
%WINDIR%\SysWOW64\odbcconf.exe CONFIGDSN "SQL Server" "DSN=ControltubProducao|Description=ControltubProducao|SERVER=10.23.22.18|Trusted_Connection=No|Database=Controltub"
以下是我使用的脚本(2015年1月)。用您的姓名替换所有内容:

@echo off
cls

echo Configure user Data Sources for <ApplicationName>
echo.

set dsn_name=<OdbcLinkName>
set config_dsn=configdsn "SQL Server" "DSN=%dsn_name%|Server=<SqlServerName>|Database=<DatabaseName>|Trusted_Connection=yes"

%windir%\system32\odbcconf %config_dsn%
%windir%\syswow64\odbcconf %config_dsn%

echo Data Source "%dsn_name%" has been configured.
echo.
echo Done.
echo.
pause
@echo关闭
cls
echo为配置用户数据源
回声。
设置dsn\U名称=
设置config_dsn=configdsn“SQL Server”dsn=%dsn_name%| Server=| Database=| Trusted_Connection=yes
%windir%\system32\odbcconf%config\u dsn%
%windir%\syswow64\odbcconf%config\u dsn%
已配置回显数据源“%dsn\u name%”。
回声。
回音完毕。
回声。
暂停

您是指ODBC数据源?它是否显示在“管理工具”->“数据源”的某个选项卡下?这正是我需要在windows中编写脚本的内容。哇,这个问题太老了,就像,几项工作之前:-)甚至不确定我是否可以测试它来判断你是否正确。你如何提供凭据(用户/通过)?
Option Explicit

Dim strDSNName, strDriver, strServer, strLastUser, strRegional, strDatabase
strDSNName = "DSN NAME"
strDriver = "C:\WINDOWS\system32\SQLSRV32.dll"
strServer = "SERVER ADDRESS"
strLastUser = "USERNAME (PLACEHOLDER)"
strRegional = "Yes"
strDatabase = "DB NAME"

If MsgBox("ODBC configuration listed below is going to be added to current user." & vbcrlf & _
          "Do you want to continue?" & vbcrlf & _
          "DSN Name: " & strDSNName & vbcrlf & _
          "Server: " & strServer & vbcrlf & _
          "Database: " & strDatabase, vbInformation + vbYesNo, "Confirmation Required") = vbYes Then
Else
  MsgBox "Operation cancelled by user.", vbExclamation, "Aborted"
  Wscript.Quit
End If

const HKEY_CURRENT_USER = &H80000001
Dim strComputer, objReg, strKeyPath, strValueName, strValue
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
    strComputer & "\root\default:StdRegProv")

strKeyPath = "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources"
strValueName = strDSNName 
strValue = "SQL Server"
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

strKeyPath = "SOFTWARE\ODBC\ODBC.INI\" & strDSNName
objReg.CreateKey HKEY_CURRENT_USER,strKeyPath

strKeyPath = "SOFTWARE\ODBC\ODBC.INI\" & strDSNName

strValueName = "Database"
strValue = strDatabase
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

strValueName = "Driver"
strValue = strDriver
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

strValueName = "Server"
strValue = strServer
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

strValueName = "Regional"
strValue = strRegional
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

strValueName = "LastUser"
strValue = strLastUser
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue

Set objReg = Nothing

If (Err.Number = 0) Then 
  MsgBox "ODBC added successfully!" & vbcrlf & _
         "Details are listed below:" & vbcrlf & _
         "DSN Name: " & strDSNName & vbcrlf & _
         "Server: " & strServer & vbcrlf & _
         "Database: " & strDatabase, vbInformation, "Succeed"
Else
  Wscript.Echo "Operation failed. Error = " & Err.Number
End If