Link to home
Start Free TrialLog in
Avatar of dude02
dude02Flag for United States of America

asked on

Group Policy

I need to push out 4 .msp files to each workstation. This file needs to run only one time. Is there a way to push out a .bat file and have it run once automatically on each workstation?

This is my config for the .bat file:

msiexec.exe /update "OrmedMIS_2013_Q4_Hotfix3.msp" /l*v "%WINDIR%\Temp\Hotfix Installation.log" /quiet /norestart

msiexec.exe /update "OrmedMIS_2013_Q4_Hotfix4.msp" /l*v "%WINDIR%\Temp\Hotfix Installation.log" /quiet /norestart

msiexec.exe /update "OrmedMIS_2013_Q4_Hotfix5.msp" /l*v "%WINDIR%\Temp\Hotfix Installation.log" /quiet /norestart

msiexec.exe /update "OrmedMIS_2013_Q4_Hotfix6.msp" /l*v "%WINDIR%\Temp\Hotfix Installation.log" /quiet /norestart
Avatar of oBdA
oBdA

You can do that with a group policy by assigning a Startup(!) script to the machines in question (see http://technet.microsoft.com/en-us/library/cc770556.aspx).
Put the msp files into a share that allows the group "Domain Computers" Read access, and use this script as Startup (or Shutdown) script:
@echo off
setlocal enabledelayedexpansion
set SourceFolder=\\SomeServer\SomeShare\SomeFolder
for /l %%i in (3, 1, 6) do (
	set FlagFile=%WINDIR%\Temp\Hotfix%%i_Installation.flg
	if not exist "!FlagFile!" (
		set LogFile=%WINDIR%\Temp\Hotfix%%i_Installation.log
		msiexec.exe /update "%SourceFolder%\OrmedMIS_2013_Q4_Hotfix3.msp" /l*v "!LogFile!" /quiet /norestart
		if not errorlevel 1 (
			>"!FlagFile!" echo Installation success
		)
	)
)

Open in new window

The script uses a flag file to track the installation success; if there are files or registry keys that are set once a patch is installed, the check could be changed accordingly.
If the patches need longer than 10 minutes to install, you need to set another policy to extend the timeout: “Maximum wait time for Group Policy scripts” in “Computer Configuration\Administrative Templates\System\Scripts”.

An alternative might be PsExec (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx), but that's only good for a relatively small number of clients and if you're sure they're all running.
Avatar of dude02

ASKER

Thanks for the quick reply. How do I setup this script to install each .msp file?
ASKER CERTIFIED SOLUTION
Avatar of oBdA
oBdA

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial