Windows 7:通过 GPO 更新 system32 文件夹中的文件

Windows 7:通过 GPO 更新 system32 文件夹中的文件

我需要更新 system32 文件夹中的 Windows 文件,我已编写脚本来执行此任务。当我在系统上本地运行它时(从具有提升权限的提示符下),它运行正常。

我已经创建了一个 GPO,其中此脚本位于计算机策略 > Windows 设置 > 脚本 > 启动下(我记得这将在启动时使用具有所有所需权限的 SYSTEM 帐户运行该脚本)

脚本执行,但文件未更新。我知道这是因为 UAC 阻止了它。

有没有方法可以实现这一点(无需关闭 UAC)?

答案1

您是否需要每次运行脚本来更新文件,还是只需在本地运行一次?如果是后者,解决方案是使用非常精巧的基于控制台的应用程序,执行命令。请注意,您必须是运行该脚本的机器上的管理员。

然后在本地/映射驱动器上创建一个文件夹,其中包含:

  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

相关内容