Compartir a través de


Cmdlets de PowerShell de IISAdministration

de Baris Caglar

Compatibilidad

Versión Notas
IIS 10.0 Los cmdlets de PowerShell de IISAdministration se introdujeron en IIS 10.0. La versión más reciente de IISAdministration se admite a través de la galería de PowerShell.
IIS 8.5 y versiones anteriores Los cmdlets de PowerShell de IISAdministration no se admiten antes de IIS 10.0. Sin embargo, los usuarios pueden instalarlos desde la galería de PowerShell.

Visite iis.net para obtener información sobre cómo obtener la versión más reciente de IISAdministration.

Introducción a IISAdministration

Con Windows 10 y Windows Server 2016, el equipo de IIS publica un módulo nuevo más sencilloIISAdministration en paralelo con los cmdlets existentes WebAdministration . Hay muchas razones detrás de la decisión de publicar un módulo de cmdlets de PowerShell completamente nuevo y estos son algunos de ellos:

  • IISAdministration se escalará mejor en los scripts que tardan mucho tiempo en ejecutarse con WebAdministration.
  • Ahora puede obtener una referencia directa a una instancia del objeto Microsoft.Web.Administration.ServerManager y hacer cualquier cosa que pueda hacer en el espacio de nombres Microsoft.Web.Administration junto con los scripts.
  • La compatibilidad de las canalizaciones de PowerShell era la fuerza motriz detrás del diseño de muchos cmdlets. Como tal, IISAdministration funciona mucho mejor con la canalizaciones de PowerShell.

La versión de los cmdlets que se lanzó para Windows 10 no era una versión definitiva, se podía mejorar; la versión de destino era Windows Server 2016 para el producto terminado y pulido. La razón de la publicación anterior era recibir comentarios de los usuarios reales de PowerShell y de administradores de IIS Administration en el sector, responder a cualquier pregunta y recibir sugerencias no solo sobre la funcionalidad existente, sino también potencialmente para la nueva funcionalidad que nuestros usuarios querrían de IIS Administration, ya que pertenece a PowerShell.

Estos son algunos ejemplos sobre el uso del nuevo proveedor:

Canalización

PS:>Get-IISConfigSection -SectionPath "system.webServer/defaultDocument" | Get-IISConfigCollection -CollectionName "files" | New-IISConfigCollectionElement -ConfigAttribute @{"Value" = "MyDefDoc.htm"}

Get-IISConfigSection está al principio de la mayoría de las canalizaciones y, en el ejemplo específico anterior, primero se obtiene la sección "system.webServer/defaultDocument" (distingue mayúsculas de minúsculas), luego se obtiene la colección de archivos y, por último, se obtiene un elemento de colección con el valor de atributo especificado.

PS:>$ConfigSection = Get-IISConfigSection -SectionPath "system.applicationHost/sites"

PS:>Get-IISConfigCollection $configSection | Get-IISConfigCollectionElement -ConfigAttribute @{"Name"="Default Web Site"} | Get-IISConfigAttributeValue -AttributeName "State"

Este es más de un ejemplo híbrido en el que la sección se coloca primero en una variable y, después, se usa en la canalización.

Comandos simples

El número de comandos simples se reduce considerablemente a pocos. Entre los ejemplos se incluyen Get-IISSite y Get-IISAppPool. Otras operaciones sencillas para las que los comandos no existen se pueden realizar a través de operaciones de canalización.

PS:> Get-IISAppPool

Name            Status   CLR Ver  Pipeline Mode  Start Mode
----            ------   -------  -------------  ----------
DefaultAppPool  Started  v4.0     Integrated     OnDemand

Get-IISServerManager

PS:>$sm = Get-IISServerManager

PS:>$sm.ApplicationPools["DefaultAppPool"].Recycle()

Como puede ver, una vez que tenga acceso al administrador del servidor, el cielo es el límite.

Start-IISCommitDelay/Stop-IISCommitDelay

Al incluir operaciones entre estos comandos, puede asegurarse de que los cambios se confirman al mismo tiempo.

Estos son solo algunos ejemplos de lo que se puede hacer con el nuevo proveedor. Visite el documento en línea, donde encontrará la documentación completa y más ejemplos.