1

Тема: CMD/BAT: Не отрабатывает удаленно .BAT скрипт

Ситуация такая, есть батник:

@ECHO OFF
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION



takeown /F %WINDIR%\Web\Screen\ /R /A /D Y
ICACLS %WINDIR%\Web\Screen\ /grant %USERDOMAIN%\%USERNAME%:F
copy /B \\10.40.0.4\Software\logonui.jpg %WINDIR%\Web\Screen\img100.jpg
copy /B \\10.40.0.4\Software\logonui.jpg %WINDIR%\Web\Screen\img105.jpg
takeown /F %PROGRAMDATA%\Microsoft\Windows\SystemData
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData /grant:r %USERDOMAIN%\%USERNAME%:F
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData /grant:r %USERDOMAIN%\%USERNAME%:F
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData /setowner %USERDOMAIN%\%USERNAME%
takeown /F %PROGRAMDATA%\Microsoft\Windows\SystemData\* /R /D Y
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData\* /grant:r %USERDOMAIN%\%USERNAME%:(OI)(CI)F
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData\* /grant:r %USERDOMAIN%\%USERNAME%:(OI)(CI)F
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData\* /grant:r SYSTEM:(OI)(CI)F
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData\* /inheritance:e /T
icacls %PROGRAMDATA%\Microsoft\Windows\SystemData\* /setowner %USERDOMAIN%\%USERNAME% /T
del /Q %PROGRAMDATA%\Microsoft\Windows\SystemData\*
set "RegPath=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList"
for /f "delims=" %%i in ('reg query "%RegPath%"^|findstr /ibc:"%RegPath%\S-"') do (
  reg query "%%i" /v "ProfileImagePath"|findstr /iec:"%UserProfile%" >nul &&set "SID=%%~nxi"
)
cd %PROGRAMDATA%\Microsoft\Windows\SystemData\%SID%\ReadOnly\LockScreen_*
for %%i in (LockScreen___*.jpg) do (
  set FILENAME=%%i
  echo !FILENAME!
  copy /y C:\Windows\logonui.jpg 
  del /Q /F !FILENAME!
  ren "logonui.jpg" !FILENAME!
)

Если его запускать локально от имени Администратора - все прекрасно отрабатывает. Если запуская удаленно через psexec - не отрабатывается цикл, я так понимаю, переменные, заключенные в !var!. Пишет не найден путь...Не пойму куда копать...psexec запускается так (с ключами cmd уже по разному игрался, бестолку):

C:\>psexec64 \\IT -u Администратор -p password cmd.exe /V:ON /E:ON /C "c:\windows\logon_old.bat"