I know, the are many similar questions to date, but I can’t find a working one because I’m a PS newbie.
I’ve some PS scripts grab somewhere, reported below, that install 5-6 apps after a new PC joined our domain.
Actually are parallel executed by a single GPO startup script (user or machine) , I know isn’t good to parallel install apps and some times I need to reboot the laptop 2-3 times to complete all the installations.
Isn’t a big issue, but for sure isn’t TOP and elegant and I want to change it.
I’ve read about the start-process and -wait commands, but by this way I need to merge all scripts in one big script and use a kind of “go to” if some applications are still present, but I don’t know how.
Or use PS app toolkit, but, again I don’t know how to deploy more than one app with the script anche check if it’s already present to go to next.
Thanks for any tips.
Example of the script in use, it’s more or less the same for all apps:
# Check to see if the Folder is already present and if so, don't bother doing anything.
$Folder = 'C:program files (x86)Barco'
if (!(Test-Path -Path $Folder -ErrorAction SilentlyContinue)) {
# Location of the installer - This is not version-specific, so it shouldn't ever need to be updated
$AppShare = '\domain.comSYSVOLdomain.comInstallersClickShare_Installer.msi'
# The App is copied to the following directory
$AppLocal = 'C:TempClickShare_Installer.msi'
# Create a TEMP directory if one does not already exist
if (!(Test-Path -Path 'C:Temp' -ErrorAction SilentlyContinue)) {
New-Item -ItemType Directory -Path 'C:Temp' -Force
}
# Now copy the sensor installer if the share is available
if (Test-Path -Path $AppShare) {
Copy-Item -Path $AppShare -Destination $AppLocal -Force
}
# Run Clickshare App installer
& C:Windowssystem32msiexec.exe /I $AppLocal /QN ACCEPT_EULA=YES
}