3

Our IT Support Dept. releases an internal software product that I write via group policy.

Is it possible to force an update of a particular group policy software install without asking the users to log off and log back on to their machines?

1
  • You use Group Policy to install software? You must hate your users more than I do. Apr 13, 2016 at 18:15

5 Answers 5

4

The software cannot install/upgrade unless the user reboots his computer (Computer objects in GPO gets applied before the user can log on). Maybe Vista can do this, I'm not sure - but with XP you really do have to reboot.

4
  • Thanks, I was pretty sure that was the answer. I just wanted to check.
    – MrEdmundo
    Jun 11, 2009 at 9:45
  • Yep, the GPO install software takes place before user login. so you have to reboot unfortunately. Thats why MS has config mgr and sms:)
    – MrTimpi
    Jun 11, 2009 at 10:35
  • Are you sure? Normally you can force GP down
    – gbn
    Jun 11, 2009 at 11:59
  • What do you mean by forcing GP down? Like "gpupdate /force"? It still requires a reboot to take effect.
    – pauska
    Jun 11, 2009 at 12:17
3

In a command shell you can run

gpupdate /force

which will (as the command implies) force a group policy update. It can also be tailored to update the user or computer policy with the switch

/target:computer

or

/target:user

1

For Win 2003:

gpupdate /force /target:computer

For Win 2000:

secedit /refreshpolicy machine_policy /enforce

Not sure about XP but you could try both

1
  • Both commands need reboot to apply some policies.
    – motobói
    Jul 1, 2013 at 22:28
0

It's a cheat compared to your question, but you could use psexec to remotely install the package on computers while not having to break users activity. Psexec is from Sysinternals (Microsoft now) for free

0

Maybe creating a schedule task for the users, and this task run the vbscript or something else for update the App. The script must verify the version of executable previous replace or run update task.

    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()

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .