以下是我编写的脚本:
@echo off
REM This file assumes you have psexec installed
REM Ask for machine name or IP
set /p machine= Please enter the machine name or ip:
REM check for workstation online, if not exit
ping %machine% | find "Reply"
if errorlevel 1 goto :offline
if errorlevel 0 goto :install
:offline
echo Workstation not online
pause
exit
:install
xcopy "w:\*****\*****\psexec.exe" \\%machine%\c$\windows\system32
xcopy "w:\*****\*****\*****\*****\fix.reg" \\%machine%\c$\temp
PsExec -s -i \\%machine% -u domainadmin \\%machine%\c$\windows\regedit.exe -i "c:\temp\fix.reg"
pause
<< Reg file fix.reg>>
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
脚本一直运行到将文件从网络复制到远程计算机为止。然后系统要求我输入域管理员密码,PsExec
然后我收到以下消息:
无法在 Computername 上启动 PsExec 服务:系统找不到指定的文件。
我可以通过远程连接到计算机并双击来运行 .reg 文件,但必须有一种方法可以让 PsExec 远程运行它
\\%machine%\c$\temp\fix.reg psexec -s \\%machine%\c$\windows\system32\reg.exe
这行代码的前半部分工作正常,它运行 reg 文件,但它没有更新目标计算机上的注册表,而是更新了我本地电脑的注册表,有人能看到这个问题吗?
答案1
PsExec.exe -s \\%machine% -u domainadmin C:\windows\system32\cmd.exe /C c:\windows\system32\reg.exe IMPORT c:\temp\fix.reg