对于管理员来说,有时候我们通过下列方法手动刷新组策略:

Windows XP系统:

Gpupdate.exe /Target:User /force           --刷新用户配置
Gpupdate.exe /Target:Computer /force   --刷新计算机配置

windows 2000系统:

Secedit.exe /refreshpolicy user_policy        --刷新用户配置
Secedit.exe /refreshpolicy machine_policy  --刷新计算机配置

 

这里给出远程批量刷新组策略的方法,用到的工具为pstools中的Psexec.exe。关于psexec的详细参数请参考其帮助文件。

对于 Windows XP:
Psexec.exe @ComputerList.txt Gpupdate.exe /Target:User /force
Psexec.exe @ComputerList.txt Gpupdate.exe /Target:Computer /force
对于Windows 2000:
Psexec.exe @ComputerList.txt secedit.exe /refreshpolicy user_policy
Psexec.exe @ComputerList.txt secedit.exe /refreshpolicy machine_policy

其中ComputerList.txt为保存了计算机名称的文本文件,每个计算机名占一行。

 

对于拥有windows xp和windows 2000的混合环境,我们可以先通过脚步判断其操作系统类型然后执行相应的远程刷新命令。参考批处理如下:

@echo off
XPGPORef1=gpupdate.exe /Target:User /force
XPGPORef2=gpupdate.exe /Target:Computer /force
Win2kGPORef1=secedit.exe /refreshpolicy user_policy
Win2kGPORef2=secedit.exe /refreshpolicy machine_policy
For /f “Tokens=*” %%a in (ComputerList.txt) Do (
SET Comp_name=%%a
Ver.exe \\%comp_name% > Hostver.txt
Find /I “XP” < Hostver.txt > CheckCC.txt
IF %errorlevel% == 0 (
Psexec.exe \\%comp_name% Gpupdate.exe /Target:User /force
Psexec.exe \\%comp_name% Gpupdate.exe /Target:Computer /force
) ELSE (
Psexec.exe \\%comp_name% secedit.exe /refreshpolicy user_policy
Psexec.exe \\%comp_name% secedit.exe /refreshpolicy machine_policy
)

 

 

参考文献微软KB556027