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.