Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 280
  • Last Modified:

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
0
dude02
Asked:
dude02
  • 2
1 Solution
 
oBdACommented:
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.
0
 
dude02Author Commented:
Thanks for the quick reply. How do I setup this script to install each .msp file?
0
 
oBdACommented:
Sorry, missed one replacement:
@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_Hotfix%%i.msp" /l*v "!LogFile!" /quiet /norestart
		if not errorlevel 1 (
			>"!FlagFile!" echo Installation success
		)
	)
)

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now