Try https://chocolatey.org. It is designed as "a Machine Package Manager, somewhat like apt-get, but built with Windows in mind." And let's you both download and install packages in one command.
For instance, to install Notepad++ one simply types
choco install notepadplusplus
And both the download and install are done by powershell for you. This makes upgrades seamless also because of the package database that it tracks.
This tool is by far the easiest for automating the install of most open-source or free tools such as firefox. However, in an enterprise environment, when setting up multiplemachines it may be useful to use Windows Deployment Services, a free role for Windows Server. WDS allows you to complete zero-touch installs from a tftp network boot, through drive partitioning, BitLocker encryption, OS and driver installation, through installation of specific Microsoft software such as Office and joining the computer to a domain.