我们的IT支持部门通过组策略发布一个内部软件产品。
是否可以强制更新特定的组策略软件安装而不要求用户注销并重新login到他们的机器上?
除非用户重新启动计算机,否则软件无法安装/升级(GPO中的计算机对象在用户可以login之前得到应用)。 也许Vista可以做到这一点,我不知道 – 但用XP,你真的不得不重新启动。
在命令行中,您可以运行
gpupdate / force
这将(如命令暗示的)强制组策略更新。 它也可以通过交换机来更新用户或计算机策略
/目标:计算机
要么
/目标:用户
对于Win 2003:
gpupdate /force /target:computer
对于Win 2000:
secedit /refreshpolicy machine_policy /enforce
不知道有关XP,但你可以尝试两个
与您的问题相比,这是一个骗子,但您可以使用psexec在计算机上远程安装软件包,而不必中断用户活动。 Psexec来自Sysinternals(微软现在)是免费的
也许为用户创build一个计划任务,并且这个任务运行vbscript或者更新App的其他东西。 该脚本必须validation可执行文件的先前replace版本或运行更新任务的版本。
On Error Resume Next DIM fso Dim version Set fso = CreateObject("Scripting.FileSystemObject") Set WshShell = WScript.CreateObject("WScript.Shell") x86=wshShell.ExpandEnvironmentStrings("%PROGRAMFILES(x86)%")&"\Cisco Systems\Cisco Jabber\CiscoJabber.exe" x64=wshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")&"\Cisco Systems\Cisco Jabber\CiscoJabber.exe" If (fso.FileExists(x86) or fso.FileExists(x64)) Then version= CreateObject("Scripting.FileSystemObject").GetFileVersion(x86) if (strcomp(version,"",1)=0) then version= CreateObject("Scripting.FileSystemObject").GetFileVersion(x64) 'Wscript.echo "x64" end if 'Wscript.Echo version & " en x86" if (strcomp(version,"11.5.1.29337",1)=0) then 'Wscript.Echo "Tiene la ultima version" else 'Wscript.Echo "Updating" WshShell.Run "msiexec.exe /I ""\\server\sharedfolder\CiscoJabberSetup.msi"" /quiet" end if Else 'WScript.Echo("Install as new app") 'WshShell.Run "msiexec.exe /I ""\\server\sharefolder\CiscoJabberSetup.msi"" /quiet" End If WScript.Quit()