ADSUtil.VBS é seu amigo aqui. Você pode usá-lo para obter uma lista de todos os sites no sistema (que você terá que editar um pouco para obter os resultados adequados) e para definir o pool de aplicativos para um site.
cscript adsutil.vbs enum /P /w3svc/
lhe dará uma lista de todos os caminhos em seu servidor assim:
[/w3svc/1]
[/w3svc/2]
[/w3svc/608728754]
[/w3svc/608728755]
[/w3svc/87257621]
[/w3svc/AppPools]
[/w3svc/Filters]
[/w3svc/Info]
qualquer coisa que termine com um número é um site. Depois de filtrar essa lista, você pode usá-la como entrada para outro comando adsutil.vbs:
cscript adsutil.vbs set W3SVC/<number>/ROOT/AppPoolId <NewAppPoolName>
O que mudará o pool de aplicativos do site especificado por <number>
para o que for especificado em <NewAppPoolName>
- esse pool de aplicativos já deve existir.
Escrever um wrapper em torno disso na sua linguagem favorita deve ser bem trivial se você já estiver falando sobre o uso do C # para fazer isso.
Além disso, se você não estiver familiarizado com isso, adsutil.vbs normalmente existe em c:\inetpub\adminscripts\