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