Página anterior | Voltar ao início do trabalho | Página seguinte |
A arquitetura do Windows PowerShell é simples, é composta do Windows PowerShell engine que possui sub-componentes (Script and Command Parser, Extended Type Sytem, Cmdlets, Session State e NameSpace Providers), o Windows PowerShell pode ser acesso diretamente via Command Shell, através de interface gráfica MMC Snap-in ou através de outros hosts, quando o acesso é feito via interface gráfica (WinForms) ele possui uma interface chamada Monad Data Provider que vem antes da engine.
O Windows PowerShell além de permitir o controle do Exchange Server 2007, nos permite utilizar outros Providers para termos acesso ao Registro, Sistema de arquivos, Certificados Digitais, Active Directory e etc.. sempre utilizando à mesma nomenclatura de comandos (cmdlets).
O Monad é um poderoso shell que permite a criação de scripts, o que diferencia ele do tradicional cmd.exe? O Monad é totalmente baseado em .Net Framework, com isto quando rodamos comandos a partir do mesmo não precisamos ter um executável para executarmos as tarefas porque ele faz uso das bibliotecas utilizando o .Net Framework, que é à base do sistema operacional do Microsoft Windows, para manipular as informações.
Como podemos perceber, todas as chamadas da interface gráfica serão feitas para a Engine do Monad, portanto, também poderemos administrar todo o Exchange 2007 a partir da linha de comando.
O Windows PowerShell possui uma nomenclatura para os comandos do Exchange, os comandos são chamados de cmdlets e é a união de um verbo (get, new, update, remove, etc..) mais um nome (Mailbox, TransportAgent, ServiceHealth, etc..) podendo ser seguido ou não de parâmetros. Atualmente temos em torno de 350 cmdlets com inúmeros parâmetros no Exchange 2007.
Vamos analisar o cmdlet Get-Mailbox que lista as mailbox de determinado servidor, servidor este definido pelo parâmetro -Server seguido do nome do servidor, em nosso exemplo Server1.
Abaixo temos alguns verbos e Nomes possíveis no Windows PowerShell:
Verbos |
Nomes |
Update |
MailboxDatabase |
New |
StorageGroup |
Get |
SendConnector |
Remove |
TransportAgent |
Set |
MobileDevice |
Add |
SystemHealth |
Enable |
ServiceHealth |
Mount |
JournalRule |
Dismount |
MAPIConnectivity |
Disable |
ContentIndex |
Test |
DistributionGroup |
Uma outra facilidade que o Windows PowerShell nos permite é a possibilidade de utilizar pipes, ou seja, a saída de um comando ser utilizado em outro cmdlet, com isto conseguimos uma flexibilidade através da linha de comando sem a necessidade criar scripts. Exemplo:
Cmdlet |
Descrição |
get-mailbox |
Lista todas mailboxes independente do servidor que estejam |
get-mailbox | group-object Database |
A partir do primeiro get-mailbox que lista todas as mailboxes o segundo cmdlet group-object Database apresentará na tela todos os usuários aninhados pela database as quais pertencem |
Como vimos na arquitetura do Windows PowerShell o Exchange Management Console faz acesso a engine do Windows PowerShell para mostrar as configurações e também para executar tarefas no Exchange Server.
O Exchange Management Console foi reescrito do zero e é baseado em WinForms, quando executamos uma tarefa qualquer o mesmo passa cmdlets para a engine do Windows PowerShell para serem executadas, com isto todas as ações efetuadas via interface gráfica podem ser reproduzidas por linha de comando.
E o novo Exchange Management Console agora conta com 4 painéis sensíveis ao contexto, no primeiro painel temos todas as configurações de organização, funções dos servidores e o Toolbox que é um conjunto de ferramentas para auxílio do administrador, este primeiro painel é chamado de Tree (1). No segundo painel, chamado Result Panel(2) é o resultado do que é clicado no painel Tree (1), ou seja, somente informações relevantes ao item selecionado. No terceiro painel, chamado Work Pane(3) é mostrado todos os itens relacionados ao Result Panel(2) e por último temos o Action Panel que é dinâmico e sensível ao contexto, por exemplo quando clicamos em um Storage Group ele mostra opções cabíveis para este item e ele ainda possui tarefas que podem ser executadas em nível do Result Panel(2), ou seja, ele possui configurações específicas para o Work Panel (3) e ações para o Result Panel (2).
Bom para quem não conhece, abaixo segue os 4 painéis que falamos anteriormente, ele é baseado no mesmo utilizado atualmente pelo ISA Server 2004.
Nova interface do Exchange Management Console
Agora que já conhecemos a nova GUI (Graphical User Interface) do Exchange 2007, sabemos também que quando executamos qualquer uma das ações da interface gráfica é "enviado" um cmdlet do Windows PowerShell para execução da tarefa.
Como o Exchange 2007 pode ser gerenciado totalmente via Exchange Management Shell (linha de comando) toda ação feita via interface gráfica nos é mostrado o cmdlet que foi executado para tal ação. Como mostra a figura abaixo:
Conforme o exemplo, quando criamos um novo MailboxStore no Exchange 2007, após a criação é mostrado os dois cmdlets utilizados no processo: o primeiro de criação do mailboxstore (New-MailboxDatabase) e o segundo para montar a mailbox store recentemente criada (Mount-Database).
Fora a visualização ainda podemos dar um Ctrl+C e o conteúdo do Wizard ficará em memória para posteriormente ser utilizado pelo Administrador para documentação ou ainda para criação de um script para automatizar o processo.
Mostramos como será a integração do Exchange 2007 com o Windows PowerShell, com isto já podemos nos preparar para administrar e implementar o Exchange 2007 utilizando as facilidades que o Windows PowerShell pode nos proporcionar ou ainda continuar utilizando a nossa velha e renovada interface gráfica do Exchange 2007.
Anderson Patricio -
anderson[arroba]andersonpatricio.orgPágina anterior | Voltar ao início do trabalho | Página seguinte |
|
|