Назад | Перейти на главную страницу

Windows 7: обновите файл в папке system32 через GPO

Мне нужно обновить файл Windows в папке system32, в которой я создал сценарий для выполнения этой задачи. Когда я запускаю его локально в системе (из приглашения с повышенными привилегиями), он работает нормально.

Я создал объект групповой политики, в котором этот сценарий настроен в разделе "Политики компьютера> Параметры Windows> Сценарии> Запуск" (насколько я помню, он запускает сценарий при запуске с учетной записью SYSTEM, которая имеет все необходимые привилегии)

Сценарий выполняется, но файл не обновляется. Я знаю, что это из-за того, что UAC предотвращает это.

Есть ли способ добиться этого (без отключения UAC)?

Вам нужно запускать скрипт каждый раз, чтобы обновить файл, или вам нужно запускать его только один раз локально? В последнем случае решением было бы использование очень хитрого консольного приложения, PSexec. Обратите внимание, что вы должны быть администратором на машине, на которой выполняется скрипт.

Затем вы создаете папку на локальном / подключенном диске, содержащую:

  1. Главный командный файл, который вы будете запускать
  2. Само приложение PSexec
  3. «Полезная нагрузка», которая будет запускаться на удаленном компьютере - например, файл, который вам нужно обновить, и локальный командный файл, который будет запускать PSexec.

Мои обычные полезные данные PSexec:

  1. создать временный файл / папку на удаленном компьютере
  2. запустите PSexec, указывающий на временное местоположение
  3. удалить все созданные файлы

пример программы запуска выглядит так:

@echo off    
CLS

set /p PCName=Type the Domain Name or IP address of PC:
echo.

COPY local_payload.cmd \\%PCName%\c$\Temp
psexec \\%PCName% C:\Temp\local_payload.cmd

REM after the payload has been launched you can view the output
REM edit: if it does not want to work, try adding an -s switch that will make it run as a system account.

pause

REM here you delete everything after you are finished
DEL \\%PCName%\c$\Temp\SMS_LOCAL.cmd

pause

:eof