I schedule a powershell script for Windows updates on our servers. I can turn the schedule on or off and change it on the fly. Way easier than updating local scheduled tasks. I use PDQ for everything. Well worth the low price.
Why reinvent the wheel?
I love Powershell but there are plenty of tools that will do this for you. I've managed small fleets and built SOEs and I've never found a simpler way to deploy software than PDQ. It's not the most comprehensive tool, inventory management etc but it will save you a lot of time and it "just works" the free product is fine but the paid offering is good value.
Look into PDQ deploy. Should be free up to a certain amount of users.
Download a package (for example Google Chrome). Then in the settings you can set the auto approval time (so it will approve all downloaded updates for packages you have downloaded, I have mine set at 4 days).
Then make a schedule. I have my Chrome schedule set to every Monday at 6am, and then upon heartbeat (Its like their language for a ping to see if the computer is on). So if the user is logged in at 6am, itll install the new Chrome silently. If no user is on, the next time the computer is started it will update because of that heartbeat.
You can also set your settings to ping before attempting to deploy, and wake on lan before deployment.
Then you just set it and forget it and every week it gets updated.
And the nice thing about PDQ is they already have pre made packages for a lot of stuff (Chrome, Firefox, Java, Adobe Flash, Adobe Reader, etc)
Its very user friendly and will save you a lot of unecessary work.
If your company can afford to budget for it (though it's fairly cheap), I'd suggest setting up a PDQ Deploy + Inventory Server.
https://www.pdq.com/pdq-deploy/
It is awesome for tasks like these. You can schedule heartbeat-uninstalls as well, so that they get uninstalled upon connecting to the network. Even beyond this issue I'd recommend any help-desk/sysadmin to try PDQ.
PDQ Deploy works great for us. Comes with a lot of ready to go uninstallers for all sorts of programs.
I'm starting to look like a PDQ salesperson, but i just can't recommend it enough :)
Yep, definitely have a look at PDQ. As for CAD programs, most come with a buildin deploy tool. We use Autocad / Solidworks. Both have the option to build a standard installer you can then deploy with PDQ. Deployment instructions in the link :)
So disabling UAC or right clicking the batch file will get rid of the "do you want this app to make changes" portion.
The other part of your request you'll need to find out what installer software the app is using so you can do an unattended installation.
If you're doing a lot of common programs look at ninite: https://ninite.com/
If you're deploying in an org a lot of people recommend PDQDeploy: https://www.pdq.com/pdq-deploy/
If you want to continue learning to do this on your own you'll need to understand the different installer technologies (MSI, InstallShield, NullSoft, etc.etc.etc.) and what command line options are available to those packages and here's a good reference: http://unattended.sourceforge.net/installers.php
I recommend PDQ Deploy . If you don't want/need their repository or stuff like schedules, then it's free. We use it for everything from pushing powershell/batch scripts, to application installations, and even forcing certain Windows updates.
>... can run locally of course ...
In my case I just needed it to run locally since I was pushing this out with PDQ Deploy. So I just create a package to run the PowerShell script, feed it the list of active computers from PDQ Inventory and off it goes!
The free version of PDQDeploy lets you run anything on domain-joined computers either with local admin or domain admin credentials. If it's not an MSI, you can bundle it with a .bat
file that includes silent install flags.
vbsedit is a great tool if you are looking for some automation templates for batch scripts or VBS scripts it gives you a rough idea or blueprint with a starting template then you can incorporate any other lines you want. its very learn as you go with VBSedit but its great for learning and incorporating new automation scripts
PDQ Deploy has been great for a lot automation we mainly use it for uninstalling a lot of applications when SCCM could not handle the job
It is awesome, it has built-in in packages for most programs, Chrome, java, reader, etc... It ties to AD, detects what is/isn't installed and pushes it out. Packages auto update, you can schedule it tons of different ways and it's pretty cheap. I've used SCCM and Kace before- PDQ is way easier. They also have PDQ Inventory that is useful as well. We use both. https://www.pdq.com/pdq-deploy/
Windows Update for Business is by far the easiest solution for Windows Updates.
For third party software, PDQ Deploy is easiest solution I have used.
https://docs.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb
Just sysprep and image and use that for your installs. https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation
After you have a sysprep image, setup PXE and you can do installs with your eyes shut. If that doesn't work for you, you could also look into PDQ and build a package with all the software you want installed. https://www.pdq.com/pdq-deploy/
These suggestions have been really great. I've opted to look further into these solutions. I'm ok with spending $30k if it frees up time from having to worry about patching servers. That I can defend. Like guys hire someone or buy this software.
https://www.bmc.com/it-solutions/bmc-helix-client-management.html
https://www.pdq.com/pdq-deploy/
https://www.manageengine.com/products/desktop-central/
Awesome, thank you guys so much :) <3
Correct, but you can use PSexec or a deployment tool like PDQ Deploy to run it administratively on remote computers.
If you want something to run interactively, yes you will have to use an administrative PowerShell prompt.
If you are unable to do this, you likely don't have rights and shouldn't be making this account change.
https://www.pdq.com/pdq-deploy/ and https://www.pdq.com/pdq-inventory/ in my opinion cannot be beaten for the price and will do everything you want and more for $1k/admin/year. If you don't have something in place already it is also easy enough to do a full poc in their 14 day trial and really blow away any audience.
I would use PDQ Deploy: https://www.pdq.com/pdq-deploy/
The free version will do what you want, and is way easier and faster than writing a script. Powershell is great for many situations, but using a software deployment tool is more time efficient than writing a script
I have to be very stackoverflow but there's I think you're looking for a better method. A way of centrally deploying software out.
Creating PDQ packages is almost as easy as right click > deploy.
Alternatively, GPO does have a way of deploying software.
Windows shop here: ~1000 users
Enterprise CA so we could do internal certs with templates and just deploy them. They used to be done manually, it was agony to see.
Definitely PDQDeploy (and PDQInventory). The base versions are free, and it's a great way to deploy software and send tasks to a large (or small) number of devices.
/u/vocatus creates free software packages for it here; their collection is a nice way to start learning how to write batch files for common installations too, or you can use them as-is.
With 2,000 apps you are going to want app layering out of the gate. Just do it right the first time so you don’t have to redo your imaging and update process.
We use Provisioning Services instead of MCS. I had a working pilot of Application Layering, but ultimately went with FSLogix AppMasking. Lucky enough to have a fairly static set of applications and only a little variance so it’s manageable to have one image, but only because I have nearly all of it semi-automated. I’ve done a lot of custom scripting, including scripts for doing a staged rollout of our one across 20ish machine catalogs that serve the customers.
My suggestion is definitely AppLayering. Have a Chocolaty, PDQ Deploy, or Ninite Pro layer for applications that can be installed and updated using those tools.
From there, layers for apps for various teams. Figure out something for testing, staged rollouts, roll backs...
Who manages the IT infrastructure? This surely isn't the first time you have had new computers to hand out? If it's not you need to push back and have the school hire someone with the knowledge.
At minimum, you need:
Windows Server with Active Driectory / DNS for storing login info
A secondary domain controller (basically another AD server)
Software distribution (I would recommend PDQ Deploy
Something that links your SIS to AD
Again, this is all way to complex for just the helper. Your school either needs to hire someone, or engage with a managed service provider to assist with this.
PDQDeploy's free version was built just for this and works great for Windows devices without needing an agent on each endpoint. The software and script packs released by vocatus will give you a general idea of what the batch file setup looks like.
I can't use GPO in my environment either. You can do what I do, use PDQ Deploy.
Just deploy the registry key of the GPO changes. Here's a copy of my registry key: https://github.com/SysAdminDoc/Windows10/blob/master/EdgeGPO.reg
Save it as .reg file and make sure to alter the uBlock Origin conf portion with your own config before sending this out.
You should look into PDQ Deploy. I love Powershell but there already tools like PDQ that accomplish what you are trying to do. PDQ will save you so much time and energy. There is a free version with limited features or it's $500 for the full version.
Here is a link: https://www.pdq.com/pdq-deploy/
If you have a small number of workstations (less than 500) then WID would probably be ok. It mostly struggles with large networks that have thousands of workstations.
You could also try using PDQ Deploy, which my favorite tool for deploying software, but I haven't tried installing drivers with it. You could download the free version and see if it works for you. https://www.pdq.com/pdq-deploy/
May be worth trying something like https://www.pdq.com/pdq-deploy/. This would let you manage all of their software with policy.
They also have an inventory product and a single license for each is fairly cheap.
If that doesn’t work for you take a look at the options here - https://social.technet.microsoft.com/Forums/windowsserver/en-US/f2f56ab0-c287-4d0f-a631-af08f0f866d3/converting-exe-to-msi-for-deployment?forum=winserverGP
Third-Party software are managed even in the free version but there are tons of limits... the free version is not enough to manage an entire fleet
Correct. We use the decrapifier to completely remove the store. If you need to install/remove applications, I suggest PDQ: https://www.pdq.com/pdq-deploy/
Other than that, GPOs can do just about everything else you would need.
Is using group policy manadtory?
https://www.pdq.com/pdq-deploy/
PDQ Deploy can get it done, the free version is capable
Check the box to include entire directory
I set everything up in Group Policy and add the computer to the domain, the first few boots after adding it to the domain all programs install / GUI configurations / TeamViewer is configured / scripts uninstall known junkware / chocolatey is deployed / office is installed with custom config / network drives & desktop shortcuts are created / help desk info is added / firewalls are configured / past that we have a big powershell script with whatever else needs to be done. This process actually still takes like 1-2 hours, but it's hands off. You can rename and domain join and go to lunch. I've even added parts of scripts that reboot the server automatically.
I had to setup all these group policies in all our clients, but once you get familiar with it, it happens pretty quick.
The upside is there's no cost involved.
https://www.pdq.com/pdq-deploy/ this is also free.
We use SCCM. It's a beast and does a lot, but it can be overly complicated for deploying smaller things.
If all your computers are on the same network, I would strongly recommend PDQ Deploy. We used to use it before SCCM, but since we have lots of field offices on slower networks, SCCM just made more sense for us. As far as I'm aware, PDQ can't stage/distribute files to different LANs like SCCM can. All of your machines will pull the applications from the same network share. So, if you have lots of networks, this could saturate the network PDQ Deploy resides in. But, pair PDQ Deploy with PDQ Inventory and you'll have an amazing management solution.
1) Can you clarify about this?
2) This all depends on the software you are trying to deploy and what options when it comes to installation
3) Is this a question?
4) You are responsible for updating the software you add to PDQdeploy
5) Yes also they post data on /r/PDQDeploy
6) No updates do not cost
Look at the difference between the two licensese
https://www.pdq.com/pdq-deploy/
Honest I would shoot for deploy and inventory
You can try PDQ/Inventory for free
Gather info about why you need this software
howdy Zalmez,
these lines ...
$ScriptPath = $ScriptParentFolder + $children.Name $FullPath = $ScriptPath + "\" + $ScriptName
... seem to be building a path to the script you want to run. does it work when you put a path to the server in $ScriptParentFolder
? it LOOKS like you could put \\server\share\path\to\scripts
in that $var and it would seem to work.
it seems like you may want to do something more robust and use a utility that can run scripts against whatever machine you tell it to. i think Jenkins can do that. however, i would ask in /r/sysadmin for some advice on that, since i don't have any such experience. [blush]
the docs for PDQDeploy mention that you can deploy & run stuff thru it. that may be a way to handle this more gracefully.
Deploy Software with PDQ Deploy - PDQ.com
— https://www.pdq.com/pdq-deploy/
> Silently deploy almost any Windows patch or application (.exe, .msi) to multiple Windows PCs simultaneously. Deployments can install, uninstall, execute scripts, reboot, copy files, sleep, send messages, etc. Instructions and files are sent to the target computer, executed, monitored, and reported.
take care,
lee
I like PDQ Deploy for situations like this. The free version will let you build out a package to use and it has good feedback on each deployment. https://www.pdq.com/pdq-deploy/
Like Fendulon said, it seems you may have a larger issue with the clients and software updates but this will get you to a patched state.
I'm going to be the bad guy here and say that your users shouldn't be upgrading the programs on the PC. How do they know what has changed or what is supported in the new release? Also you should have some kind of simple update procedure for your run of the mill programs like chrome / adobe / java.
Look into using PQD Deploy with the packs made by /u/vocatus here.
https://www.reddit.com/r/sysadmin/comments/6tqgdr/pdq_deploy_packs_v5100_20170814/
Generally for silent installs you are going to want the .msi version of the installers. Each program could have it's own quarks.
You could look up "msiexec" (without quotes) to get a better idea of what it takes to script an install.
Failing all that and if the guy in control of the WDS server never wants to give you access, you could lookup PDQ Deploy . That would let you collect all the software on your end, make sections for each client and just hit install and walk away.
Let me know if you need further help with anything, I love doing automation.