Cmdlets do PowerShell IISAdministration
por Baris Caglar
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | Os cmdlets do PowerShell IISAdministration foram introduzidos no IIS 10.0. Há suporte para a última versão do IISAdministration por meio da galeria do Powershell. |
IIS 8.5 e versões anteriores | Não havia suporte para cmdlets do PowerShell IISAdministration antes do IIS 10.0. No entanto, os usuários podem instalá-lo por meio da galeria do PowerShell. |
Visite iis.net para saber mais sobre como obter a última versão do IISAdministration.
Visão geral do IISAdministration
Com o Windows 10 e o Windows Server 2016, a equipe do IIS está lançando um módulo IISAdministration
novo e simplificado, lado a lado com os cmdlets de WebAdministration
existentes. Há muitos motivos por trás da decisão de lançar um módulo de cmdlet totalmente novo do PowerShell e aqui estão alguns deles:
IISAdministration
dimensionará melhor em scripts que levam muito tempo para serem executados comWebAdministration
.- Agora você pode obter uma referência direta a uma instância do objeto
Microsoft.Web.Administration.ServerManager
e fazer qualquer coisa que possa fazer no namespaceMicrosoft.Web.Administration
junto com seus scripts. - A compatibilidade de pipeline do PowerShell foi a força de condução por trás do design de muitos cmdlets. Dessa forma,
IISAdministration
funciona muito melhor com o pipeline do PowerShell.
A versão dos Cmdlets que foi lançada para o Windows 10 foi uma versão aproximada com espaço para melhorias; a versão de destino foi o Windows Server 2016 para o produto concluído e polido. O motivo para a liberação antecipada foi obter comentários de usuários reais do PowerShell e administradores do IIS no setor, responder a qualquer pergunta e receber sugestões não apenas sobre a funcionalidade existente, mas também potencialmente sobre novas funcionalidades que nossos usuários gostariam na Administração do IIS no contexto do PowerShell.
Veja alguns exemplos sobre o uso do novo provedor:
Pipeline
PS:>Get-IISConfigSection -SectionPath "system.webServer/defaultDocument" | Get-IISConfigCollection -CollectionName "files" | New-IISConfigCollectionElement -ConfigAttribute @{"Value" = "MyDefDoc.htm"}
Get-IISConfigSection
está no início da maioria dos pipelines e, no exemplo específico acima, primeiro obtemos a seção "system.webServer/defaultDocument" (diferencia maiúsculas de minúsculas!), depois obtemos a coleção de arquivos e, por fim, obtemos um elemento de coleção com o valor de atributo fornecido.
PS:>$ConfigSection = Get-IISConfigSection -SectionPath "system.applicationHost/sites"
PS:>Get-IISConfigCollection $configSection | Get-IISConfigCollectionElement -ConfigAttribute @{"Name"="Default Web Site"} | Get-IISConfigAttributeValue -AttributeName "State"
Esse é mais um exemplo híbrido em que a seção é colocada primeiro em uma variável e, em seguida, usada no pipeline.
Comandos simples
O número de comandos simples é muito reduzido para alguns. Os exemplos incluem Get-IISSite e Get-IISAppPool. Outras operações simples para as quais os comandos não existem podem ser executadas por meio de operações de pipeline.
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 você pode ver, depois de ter acesso ao gerenciador do servidor, o céu é o limite.
Start-IISCommitDelay / Stop-IISCommitDelay
Ao colocar suas operações entre esses comandos, você pode garantir que suas alterações sejam confirmadas ao mesmo tempo.
Esses são apenas alguns exemplos do que você pode fazer com o novo provedor. Visite o Documento online para obter a documentação completa e mais exemplos.