Originally Posted By: NTDOC
Well there are a couple things.

1. Yes you should run code normally to check if it's been run before or not.
2. Unless your users are local administrators on their systems (not a best practice) then they won't be able to create these entries in the HKLM part of the registry.

Here is code for what you asked, though if you really need to do this and your users don't have admin rights then you'll need to run code to accomplish this as an admin script remotely.


<fieldset style='background:honeydew;border-style:solid;border-width:2'><pre><font face='Courier New' size=2 color=#4B0082>[color:#0000FF]If</font> [color:#FF0000]InStr</font>([color:#FF0000]ReadValue</font>([color:#000000]'HKLM\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources'</font>,[color:#000000]'SmartClinic'</font>),[color:#000000]'SQL Server'</font>)
[color:#000000]'No update Required '</font> ?
[color:#0000FF]Else</font>
[color:#8B4513]CreateDSN</font>()
[color:#0000FF]EndIf</font>

[color:#0000FF]Function</font> CreateDSN()
[color:#0000FF]Dim</font> [color:#8B4513]$Key</font>,[color:#8B4513]$Set</font>,[color:#8B4513]$WinDir</font>
[color:#8B4513]$Key</font> = [color:#000000]'HKLM\SOFTWARE\ODBC\ODBC.INI'</font>
[color:#8B4513]$WinDir</font> = [color:#FF0000]ReadValue</font>([color:#000000]'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion'</font>,[color:#000000]'SystemRoot'</font>)
[color:#8B4513]$Set</font>=[color:#FF0000]WriteValue</font> ([color:#8B4513]$Key</font>+[color:#000000]'\ODBC Data Sources'</font>,[color:#000000]'SmartClinic'</font>,[color:#000000]'SQL Server'</font>,[color:#8B4513]Reg_SZ</font>)
[color:#8B4513]$Set</font>=[color:#FF0000]WriteValue</font> ([color:#8B4513]$Key</font>+[color:#000000]'\SmartClinic'</font>,[color:#000000]'Driver'</font>,[color:#8B4513]$WinDir</font>+[color:#000000]'\system32\SQLSRV32.dll'</font>,[color:#8B4513]REG_SZ</font>)
[color:#8B4513]$Set</font>=[color:#FF0000]WriteValue</font> ([color:#8B4513]$Key</font>+[color:#000000]'\SmartClinic'</font>,[color:#000000]'Description'</font>,[color:#000000]'SmartClinic'</font>,[color:#8B4513]REG_SZ</font>)
[color:#8B4513]$Set</font>=[color:#FF0000]WriteValue</font> ([color:#8B4513]$Key</font>+[color:#000000]'\SmartClinic'</font>,[color:#000000]'Server'</font>,[color:#000000]'MEDICALSERVER'</font>,[color:#8B4513]REG_SZ</font>)
[color:#8B4513]$Set</font>=[color:#FF0000]WriteValue</font> ([color:#8B4513]$Key</font>+[color:#000000]'\SmartClinic'</font>,[color:#000000]'LastUser'</font>,[color:#000000]'sa'</font>,[color:#8B4513]REG_SZ</font>)
[color:#0000FF]Exit</font> [color:#FF7F50]@ERROR</font>
[color:#0000FF]EndFunction</font></font></pre></fieldset>


im looking for this kind of script.
Only i need a default database to be changed. Can someone give me a line for that.
_________________________
A mistake is Human, But to make it a real mess you need a computer.