// 实现自动登陆
// 要求输入用户名和密码
// 将修改注册表
// 修改键位置
// HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon
// 内容:
// AutoAdminlogon = "1"
// DefaultUserName = 用户名 [字符串]
// DefaultPassword = 密码 [字符串] // 这种方法不好的地方在于,密码以未加密的明文方式保存在注册表
// 方法二:
// rundll32 netplwiz.dll,UsersRunDll 去掉使用本地,必须输入密码选项,并输入密码
//调用功能更丰富的用户帐户管理界面来设置
// 调用主程序
main();


function main() ... {
//获取用户名和密码
var UserName = "Administrator";
var Password = "yourpassword";
//创建shell对象
var WSShell = WScript.CreateObject("WScript.Shell");
var strValue = 0;
//充许自动登陆
var strKey = "HKLM/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/AutoAdminlogon";
try

...{
//构造注册表键串
strValue = WSShell.RegRead(strKey);
if(strValue != "1")
WSShell.RegWrite(strKey, "1");

}catch(e)...{
//处理不存在该键

try...{
WSShell.RegWrite(strKey, 1, "REG_SZ");

}catch(e)...{
WScript.Echo("设置失败:不能设置自动登陆标志");
return;
}
}
//写DefaultUserName
strKey = "HKLM/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/DefaultUserName";
try

...{
//构造注册表键串
sOldName = WSShell.RegRead(strKey);
WSShell.RegWrite(strKey, UserName);

}catch(e)...{

try...{
WSShell.RegWrite(strKey, Password,"REG_SZ");

}catch(e)...{
WScript.Echo("设置失败:不能更改用户名");
return;
}
}
//写DefaultPassword
strKey = "HKLM/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/DefaultPassword";
try

...{
//构造注册表键串
sOldName = WSShell.RegRead(strKey);
WSShell.RegWrite(strKey, Password);

}catch(e)...{

try...{
WSShell.RegWrite(strKey, Password,"REG_SZ");

}catch(e)...{
WScript.Echo("设置失败:不能设置密码");
return;
}
}
WScript.Echo("设置成功,请重新启动");
}