powershell iis-7 tfs2010 team-build

¿Cómo determinar si un sitio web está instalado en IIS7 con Powershell?



iis-7 tfs2010 (2)

Soy bastante nuevo en PowerShell, y estoy tratando de automatizar la eliminación de una versión anterior de un sitio web y la adición de una versión más reciente como parte de una plantilla de compilación TFS 2010 (Windows Workflow 4.0). ¿Es posible ver si existe un sitio web o grupo de aplicaciones web en IIS7 con powershell? He intentado ejecutar el siguiente comando:

import-module WebAdministration Get-Website -Name "Default Web Site"

La salida enumera todos los sitios web instalados en la caja, no solo el sitio web predeterminado.

Name ID State Physical Path Bindings ------------------------------------------------------------------------- Default Web Site 1 Started %SystemDrive%/inetpub/wwwroot http *:80: net.tcp 808:* net.pipe * net.msmq localhost msmq.formatname localhost MyWebsite1 2 Started C:/inetpub/MyWebsite1 http *:80:mywebsite1.com MyWebsite2 3 Started C:/inetpub/MyWebsite2 http *:80:mywebsite2.com

Si trato de ejecutar el comando sin el parámetro "-Nombre", el resultado es exactamente el mismo.


Acabo de notar el mismo comportamiento. Parece que no está funcionando como se esperaba. Sin embargo, usted puede rodar su propio:

get-website | where-object { $_.name -eq ''MyWebsite1'' }

Eso simplemente canaliza la lista devuelta por get-website al cmdlet where-object y simplemente devuelve ese único objeto.

Si es nuevo en PowerShell, no puedo recomendar Master PowerShell lo suficiente.


Puede usar Test-Path para verificar sitios web y grupos de aplicaciones:

Import-Module webadministration $alias = "MyWebSite1" $IISPath = "IIS:/Sites/Default Web Site/$alias" if (Test-Path $IISPath) { Write-Host "$alias exists." } $IISPath = "IIS:/AppPools" cd $IISPath if (Test-Path "./MyAppPool") { Write-Host "MyAppPool exists." }