У меня есть VBScript, который создает запись реестра на компьютере с Windows Server 2003.Этот сценарий работал нормально около года, но недавно он просто перестал работать.Я думаю, что обновление 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: Невозможно начать новый сеанс входа в систему с идентификатором, который уже используется
Кто-нибудь знаетчто вызывает это и как обойти это?Благодаря.