首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vista中自动管理登录出错

Vista中自动管理登录出错
EN

Server Fault用户
提问于 2010-01-04 09:01:12
回答 1查看 583关注 0票数 0

我有一个脚本,我运行的设置计算机自动登录作为管理员。我在这些电脑上使用Vista家庭特价。我用MDT 2010安装它们,在完成之后,我已经放置了一个脚本,通过写入注册表来设置自动管理登录。

问题是,由于某种原因,注册表中的项在重新启动后被重置。如果我再次运行脚本,它可以工作,并且键不会被重置。(我让脚本在结束时删除自己,以使工作流更快)。

有人知道为什么要重置钥匙吗?

我把我的剧本写在下面。

代码语言:javascript
复制
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
EN

回答 1

Server Fault用户

回答已采纳

发布于 2010-02-10 13:00:12

问题是AutoLogonCount是0,如果是零窗口,则清除DefaultPassword并在关机时将AutoAdminLogon设置为0,因此删除了最近的更改。解决方案是删除密钥AutoLogonCount。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/99134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档