У меня есть сценарий, который я запускаю для настройки компьютеров для автоматического входа в систему как администратор. На этих компьютерах я использую Vista Home Premium. Я устанавливаю их с помощью MDT 2010, и после этого я разместил сценарий, который я запускаю для установки автоматического входа в систему администратора, записывая данные в реестр.
Проблема в том, что ключи в реестре почему-то сбрасываются после перезагрузки. Если я запускаю скрипт еще раз, он работает, и ключи не сбрасываются. (Я заставляю скрипт удалять себя в конце, чтобы ускорить рабочий процесс).
Кто-нибудь знает, почему сбрасываются ключи?
Я включаю свой сценарий ниже.
Option Explicit
Dim Temp
Dim oReg
Dim strComputer
Dim strResult
Dim intResult
Dim readValue
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
strResult = ""
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
Temp = WriteReg("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\", "DefaultUserName","TobiiUser")
Temp = WriteReg("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\", "DefaultPassword","Tobii")
Temp = WriteReg("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\", "AutoAdminLogon","1")
Temp = WriteReg("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\", "DefaultDomainName",".")
Function WriteReg(strKeyPath, strValueName, strValue)
' Create key to use
intResult = oReg.CreateKey(HKEY_LOCAL_MACHINE, strKeyPath)
If (intResult = 0) And (Err.Number = 0) Then
' write string value to key
intResult = oReg.SetStringValue(HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue)
If (intResult = 0) And (Err.Number = 0) Then
intResult = oReg.GetStringValue(HKEY_LOCAL_MACHINE,strKeyPath,strValueName,readValue)
If readValue = strValue Then
strResult = strResult & "Succeded writing key: " & HKEY_LOCAL_MACHINE & strKeyPath & strValueName & VbCrLf
End If
Else
strResult = strResult & "Failed writing key: " & HKEY_LOCAL_MACHINE & strKeyPath & strValueName & " with error no: " & intResult & VbCrLf
End If
Else
strResult = strResult & "Failed creating key: " & HKEY_LOCAL_MACHINE & strKeyPath & strValueName & " with error no: " & intResult & VbCrLf
End If
End Function
'Delete the script
DeleteSelf
MsgBox strResult, vbInformation, "Autologon"
Sub DeleteSelf()
Dim objFSO
'Create a File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Delete the currently executing script
objFSO.DeleteFile WScript.ScriptFullName
Set objFSO = Nothing
End Sub
Проблема заключалась в том, что AutoLogonCount был равен 0, если он равен нулю, окна очищают DefaultPassword и устанавливают AutoAdminLogon на 0 при завершении работы, поэтому мои последние изменения удаляются. Решением было удалить ключ AutoLogonCount.