Extrai nomes de sites do pool de aplicativos

1

existem 2 sites que funcionam em um único pool. Eu preciso extrair os nomes dos sites para uso futuro. Eu uso o próximo comando para exp.

PS C:\> Get-Item IIS:\AppPools\tech-2

Name                     State        Applications
----                     -----        ------------
tech-2                   Started      tech-2
                                      tech-3


PS C:\> get-item iis:\apppools\tech-2 | select Applications

Applications
------------

mas resulta vazio. Selecione com nome e estado funcionando bem.

Help pls.

    
por Stitch 09.02.2015 / 23:29

1 resposta

0

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.

    
por 12.02.2015 / 16:15