Aqui está o script que eu compilei:
@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]
O script está funcionando até o ponto em que copiou os arquivos da rede para o computador remoto. Em seguida, peço a senha do admin de domínio PsExec
starts e recebo a mensagem:
Could not start PsExec service on Computername: The system cannot find the file specified.
Eu posso executar o arquivo .reg remotando no computador e clicando duas vezes nele, mas tem que haver uma maneira de fazer o PsExec executá-lo remotamente
\%machine%\c$\temp\fix.reg psexec -s \%machine%\c$\windows\system32\reg.exe
A primeira metade desta linha está funcionando corretamente, ele roda o arquivo reg mas, em vez de atualizar o registro no computador de destino, ele atualiza o registro do meu PC local. Alguém pode ver o problema?