Package Repository
In my environment, we have multiple locations. In each location there is a server used for various things. I want to be able to copy all the packages that are downloaded or built and save them to these servers. Essentially a package repository at each location. I also want to setup my target machines to look to a specific server or UNC path (the package repository on their local server) to download and install their packages.
Having the ability to create these repository and having Target machines look to these repository allows the machines to pull their installation packages from the local server and not over the WAN. Because we have over 500 machines across 23 different locations, this would really help network bandwidth when deploying packages across to the entire organization.
Comments
I believe you are describing a native Windows Server roll called Distributed File System (DFS)
https://www.pdq.com/blog/setting-up-dfs-on-windows-server/
https://en.wikipedia.org/wiki/Distributed_File_System_(Microsoft)
Agreed. We have a shared folder at each site and use DFS to have a common namespace and replicate the files between sites. Repository is aimed at the unc of the DFS namespace and workstations at each site pull from their local server.
This is what I'm looking for! I setup a shared folder at each site and have them replicating and changed the repository directory in PDQ targeting the UNC DFS namespace. Everything there is good.
From my understanding, in order for machines at each site to pull it's packages from the local share, I need to setup sites based on subnets. And in order to do this we need a Domain Controller at each site, which we don't have setup at each site. Is there another way around this? Am I understanding this correctly?
When I originally set up my DFS namespace clients were pulling from any of the servers that hosted the DFS share and I had to configure the referal ordering method settings to 'Exclude targets outside of the client's site'. Unfortunately, I believe that if you do not have sites and subnets defined then changing the ordering method won't do any good because it's all on one site and there is no cost difference.
Without defined subnets, what you might have to do would be to not have the repository on the DFS share and have packages defined per location; with each package set to push the file from the local server using the UNC path of server\share\ instead of pulling it from the UNC path. If you had 5 locations then you end up with 5 packages where the only difference was the source file path pointing to the local server. If you wanted to run the package against all locations at the same time you could create one overall package with each location specific package included as a nested package. It's not ideal, but sometimes we have to do what we have to do.