Share via


Snap-in do PowerShell: navegação pelo namespace de snap-in do IIS

por Thomas Deml

Todos estão familiarizados sobre como o sistema de arquivos é organizado. Os sistemas de arquivos são namespaces hierárquicos, compostos por diretórios que contêm arquivos e outros diretórios. O snap-in do PowerShell aproveita essa familiaridade com o sistema de arquivos e permite que outros armazenamentos de dados sejam expostos como um namespace hierárquico. Como a raiz de uma unidade do sistema de arquivos geralmente é C:\, a raiz do sistema de configuração do IIS é "IIS:".

Abaixo da unidade raiz "IIS:", você encontrará "Sites" e pools de aplicativos, "AppPools", para resumir.

Organização do namespace de snap-in do IIS

Confira a estrutura do namespace de snap-in do PowerShell do IIS. Os contêineres a seguir não podem ser excluídos ou movidos.

  • IIS:\

    • Sites

      • Conjunto de Sites

        • Aplicativos e diretórios virtuais
    • AppPools

      • WorkerProcesses
    • SslBindings

Observação: se os processos de trabalho forem iniciados, você encontrará objetos do processo do PowerShell na coleção Processo de trabalho. Essa coleção de Processo é ampliada com objetos Request e AppDomain. Isso permite consultar processos de trabalho do IIS de solicitações em execução no momento e executar domínios de aplicativo.

Agora, vamos experimentar.

Tarefa 1: familiarizar-se com o namespace de provedor do IIS

1,1. Iniciar o Console de Gerenciamento do PowerShell do IIS

Clique no menu Iniciar, selecione "Todos os programas", "Extensões do IIS 7.0" e "Console de Gerenciamento do PowerShell do IIS". O prompt da nova janela de comando do PowerShell é definido como "IIS:", a raiz do namespace do provedor do IIS.

1.2. Navegação pelo namespace

Digite "dir" e observe que Sites e AppPools são os dois únicos diretórios abaixo da raiz.

PS IIS:\> dir
Name
----
Sites
AppPools

Na próxima etapa, queremos alterar para o diretório Sites. Você pode fazer isso com o seguinte comando:

PS IIS:\> cd Sites
PS IIS:\Sites> dir
Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    f:\inetpub\wwwroot             http *:80:

Se você for aventureiro, observará que digitar cd Si<tab> retorna a conclusão da linha de comando.

Agora, tente isso:

1.2 Um pouco mais da navegação

Agora, tente o seguinte:

PS IIS:\Sites> Get-Item 'Default Web Site' | Select-Object *

PSPath                     : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites\Default Web Site
PSParentPath               : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites
PSChildName                : Default Web Site
PSDrive                    : IIS
PSProvider                 : IIsProviderSnapIn\WebAdministration
PSIsContainer              : True
State                      : Started
name                       : Default Web Site
id                         : 1
serverAutoStart            : True
bindings                   : {binding, binding}
limits                     : Microsoft.Web.Administration.ConfigurationElement
logFile                    : Microsoft.Web.Administration.ConfigurationElement
traceFailedRequestsLogging : Microsoft.Web.Administration.ConfigurationElement
applicationDefaults        : Microsoft.Web.Administration.ConfigurationElement
virtualDirectoryDefaults   : Microsoft.Web.Administration.ConfigurationElement
applicationPool            : DefaultAppPool
enabledProtocols           : http
userName                   :
password                   :
physicalPath               : f:\inetpub\wwwroot
Attributes                 : {name, id, serverAutoStart, state}
ChildElements              : {bindings, limits, logFile, traceFailedRequestsLogging...}
ElementTagName             : site
IsLocallyStored            : True
Methods                    : {Start, Stop}
RawAttributes              : {name, id, serverAutoStart, state}
Schema                     : Microsoft.Web.Administration.ConfigurationElementSchema

Na primeira vez, tentamos um cmdlet do PowerShell em vez de usar os antigos e bons comandos DOS, como CD ou DIR. Se você quiser de fato trabalhar com o snap-in do PowerShell do IIS, é aconselhável se familiarizar com esses comandos.

Get-Item, por exemplo, é um comando que permite obter detalhes sobre o item no local especificado. Em nosso caso, obtemos detalhes para o "Site Padrão" (se desejar digitar menos, tente "get-item D<tab>" e a linha de comando será concluída automaticamente pelo PowerShell). Redirecionamos a saída de Get-Item para o cmdlet Select-Object e ele exibe todas as configurações do "Site Padrão".

Resumo

Este passo a passo apresentou de forma rápida como o namespace do snap-in do IIS é organizado. Você também aprendeu alguns comandos básicos para se orientar no namespace do IIS.