我有一个在Windows Server 2003计算机上创建注册表项的vbscript。这个脚本已经运行了大约一年了,但最近它停止了工作。我认为Windows更新必须更改某些内容,可能是安全设置,从而不再允许执行此脚本。该脚本使用以下函数在HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBC.INI \中为新的ODBC连接创建一个条目:
Function CreateRegKey (sComputer, hTree, sKey)
Dim oRegistry
Dim lResult
Set oRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}//" & sComputer & "/root/default:StdRegProv")
lResult = oRegistry.CreateKey(hTree, sKey)
If (lResult = 0) And (Err.Number = 0) Then
CreateRegKey = 0
Else
CreateRegKey = 1
msgbox("Create Key " & sKey & " Failed")
End If
Set oRegistry = Nothing
End Function
此函数调用如下:
Const HKEY_LOCAL_MACHINE = &H80000002
sPath = "SOFTWARE\ODBC\ODBC.INI\" & DataSourceName
'Create ODBC entry
If (0 = CreateRegKey(sComputer, HKEY_LOCAL_MACHINE, sPath)) Then
....
Else
....
End If
有没有人知道Windows更新可能导致此脚本突然停止工作?脚本在以下行停止:
lResult = oRegistry.CreateKey(hTree, sKey)
它不会出错或其他任何内容。它只是停在那条线上。
任何人都知道这里出了什么问题以及如何解决这个问题?感谢。
编辑:我现在得到CreateKey返回的错误号。它返回以下内容:
Err.Number:-2147023533
Err.Description:无法使用已在使用的ID启动新的登录会话
有谁知道造成这种情况的原因以及如何解决这个问题?感谢。
答案 0 :(得分:1)
错误代码-2147023533(0x80070553)的描述为:
无法使用已在使用的ID启动新的登录会话。
搜索此代码和说明会显示:
尝试一下,看看它是否有帮助。