I ran into a need recently where I had to activate Windows on new machines in an automated fashion. The issue was that the environment did not use KMS, but instead activated new machines using a MAK key. The machines being activated did not have Internet access, so they had to be activated via proxy.
There is a great article on how to do this using the Volume Activation Management Tool (VAMT) here. Basically, enable Internet access (or at least access to the MS Activation servers) to a machine with the VAMT installed and you can use the GUI to activate it. If you need to automate it, you can see instructions on the PowerShell commands for VAMT here.
This all works very well, but not complete for my needs. I needed have a different server other than the VAMT server initiate the activation. To do this, I wrapped the VAMT commands I needed in a PowerShell function detailed further below. With this function, you can have any server issue the commands to the VAMT server to add and activate multiple severs on your network in an automated fashion.
I found one big caveat though. You need to enable Kerberos Delegation for BOTH the VAMT server and the server running this function. This is done by issuing the command below in PowerShell:
Set-AdComputer -Identity computerName -TrustedForDelegation $true
The reason for this is the server running this function must pass the credentials of the user running it to the VAMT cmdlets so they can run. In turn, the Find-VamtManagedMachine cmdlet must also pass those credentials to Active Directory to look the machine up. If you forget to do this, you will get errors.
Here is the function:
Hopefully, this is of use to others.