A melhor maneira que eu vi para conseguir isso é misturando powershell com o comando appcmd.exe. A Microsoft lançou alguns exemplos de código para configurar um farm em um contêiner docker aqui .
Veja um exemplo:
ForEach($farm in $farms)
{
# Create the farm
.\appcmd.exe set config -section:webFarms /+"[name='$($farm.name)']" /commit:apphost
ForEach($server in $farm.Servers)
{
# Add server to farm
.\appcmd.exe set config -section:webFarms /+"[name='$($farm.name)'].[address='$($server.address)']" /commit:apphost
}
# URL Rewrite
.\appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_$($farm.name)_lb', patternSyntax='Wildcard',stopProcessing='True']" /commit:apphost
.\appcmd.exe set config -section:system.webServer/rewrite/globalRules /"[name='ARR_$($farm.name)_lb',patternSyntax='Wildcard',stopProcessing='True']".match.url:"*" /commit:apphost
.\appcmd.exe set config -section:system.webServer/rewrite/globalRules /"[name='ARR_$($farm.name)_lb',patternSyntax='Wildcard',stopProcessing='True']".action.type:"Rewrite" /"[name='ARR_$($farm.name)_lb',patternSyntax='Wildcard',stopProcessing='True']".action.url:"http://$($farm.name)/{R:0}" /commit:apphost
}