Experimente o seguinte script:
import-module webadministration
$appPool = "MyPoolName"
$apps = (Get-WebConfigurationProperty "/system.applicationHost/sites/site/application['
@applicationPool='$appPool']" "machine/webroot/apphost" -name path).ItemXPath
foreach ($s in $apps) {
$name = $s -replace "\/system.applicationHost\/sites\/site\[\@name='", ""
$name = $name -replace "' and \@id='\d{1,10}'\]\/application\[\@path='", ""
$name = $name -replace "'\]",""
$out += $name + "'n"
}
$out
O problema é que os sites não são realmente armazenados no objeto do pool de aplicativos, o pool de aplicativos é armazenado no site / aplicativo.
Primeiro eu encontro todos os ItemXPaths para todas as ocorrências do nome do pool, no loop foreach eu removo os bits que não queremos. Não é elegante, mas funciona.
Como bônus, essa solução fornece o nome do site e do aplicativo, não apenas o nome do site.