这些天我有一些任务需要自动从我们公司的 PC 上删除防病毒软件...在某些 PC 上存在密码不匹配的问题,因此我们必须在安全模式下重新启动 PC 以删除配置文件,然后我们才能删除防病毒软件本身...所以我编写了一些脚本来自动化它...逻辑是这样的:
1) 运行将设置密码并启用内置管理员帐户的文件。将两个批处理文件 (file1、file2) 复制到 C 盘上以供进一步操作,以管理员身份运行文件 1...
2)文件 1 包含指令和注册表项,用于在安全模式下重新启动计算机、自动登录、运行文件 2 而不是 explorer.exe...然后自行删除...
3)file2 包含以正常模式重启计算机、删除防病毒软件的配置文件、设置资源管理器正常启动的默认值...然后删除自身...
实际上它确实起作用了:启动此脚本后 - 计算机以安全模式重新启动,管理员帐户自动登录,删除配置文件,以正常模式重新启动,一切看起来都很干净...但在某些情况下,我无法以安全模式重新启动...而在其他情况下,计算机以安全模式重新启动,管理员帐户自动登录,然后什么也没发生......
那么我做错了什么?
以下是包含代码的文件:
通过管理员权限启动的主文件:
@echo off
net user Administrator Pass12345
net user Administrator /active:yes
xcopy "Bat_F\file1.bat" "C:\" /Y
xcopy "Bat_F\file2.bat" "C:\" /Y
"Bat_F\Runas.vbs"
运行方式文件:
Option explicit
dim oShell
set oShell=Wscript.CreateObject("WScript.Shell")
oShell.Run "runas /profile /user:Administrator ""C:\file1.bat"""
WScript.Sleep 100
oShell.Sendkeys "Pass12345~"
Wscript.Quit
文件1:
@echo off
bcdedit /set {default} safeboot minimal
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d Administrator /f
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d Pass12345 /f
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "C:\file2.bat" /f
shutdown -r -t 10 -c "Computer Will Now Restart In SAFE MODE..."
del "%~f0"
文件2:
@echo off
bcdedit /deletevalue {default} safeboot
del "C:\\Programdata\SomeAntivirus\Someconfigfile.cfg"
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "explorer.exe" /f
shutdown -r -t 10 -c "Computer Will Now Restart In NORMAL MODE..."
del "%~f0"
那么我做错了什么?或者你有什么建议/推荐?我能做些什么来排除故障?