Troca 2007/2010 - Exportar todas as configurações do Registro usando o PowerShell ...

por Andy Grogan em 02 de setembro de 2009 · 0 comentários

no Exchange 2007 (Geral) , Configurações do Registro de câmbio , Serviços de câmbio , Powershell

Vindo a fazer um pouco arrumado avaliação e desempenho recentemente em um número de meus servidores Exchange em trabalho, e enquanto isso eu notei que eu tenho (ao longo dos anos) fez uma série poucas mudanças no registro do Windows em relação aos serviços do Exchange.
Enquanto revendo essas mudanças, eu me lembro que havia uma série de razões pelas quais eu tinha feito - por exemplo, o desempenho e os problemas de transporte que eu tinha deparam com os fornecedores.

No entanto, o fato de que eu tinha encontrado essas mudanças novamente e dado que as razões para fazê-los não é o foco deste artigo, você poderia ser perdoado por perguntar "por que eu levantei-lo?"

Bem duas coisas me ocorreu enquanto eu estava revendo essas configurações:

  1. Se eu tivesse de restauração do backup, e não o "estado do sistema" Eu perdi todos eles e achar que é muito difícil descobrir o que muda para fazer novamente em uma situação de restauração
  2. Atravessar os serviços do Exchange no registro é difícil ir usando Regedit

Assim, dado o acima eu comecei a pensar em uma maneira de exportar toda a troca as configurações do registro centric Exchange em um servidor em um arquivo - o que pode ser usado para fins de restauração ou de referência mais tarde.
Eu passei por uma série de métodos, por exemplo, a criação de um pequeno aplicativo em C # usando a classe Registry, e VBScript - no entanto, no final, eu cheguei em uma mistura de Powershell e o aplicativo de linha de comando do Registro (Regedit.exe).

O que se segue é o script que eu vim com:

  $ Exch = Get-ChildItem -Path HKLM: \ system \ CurrentControlSet \ Services | onde {. $ _ Nome -como '* Câmbio *'} 
  RegSeed $ = $ Exch.Count 
 $ = 0 SeedIndex 
 $ DirectoryPath = "c: \ ExchRegDirectory" 
  if (! (Test-Path -path $ DirectoryPath))  
 { 
  Diretório New-Item $ DirectoryPath -tipo 
  } Else { 
  Remove-Item $ DirectoryPath -Recurse 
  Diretório New-Item $ DirectoryPath -tipo 
 } 
  While ($ SeedIndex -ne $ RegSeed) {  
  $ Exe = "Regedit.exe" 
  $ Fname = "$ DirectoryPath \ ExchangeReg [$ SeedIndex] .txt" 
  & $ Exe / e $ Fname $ Exch [$ SeedIndex] .Name 
  $ SeedIndex ++ 
 } 
 $ MergeApp = "cmd"  
 MergerFile $ = "ExchangeServices.dat" 
 ExchName $ = "ExchangeServices.txt" 
  & $ MergeApp / c "Copy $ DirectoryPath \ *. Txt $ DirectoryPath \ $ MergerFile" 
 & $ MergeApp / c "Del $ DirectoryPath \ *. Txt" 
 & $ MergeApp / c "Ren $ DirectoryPath \ $ MergerFile $ ExchName" 
  Faça-Host "Script foi concluída" 

Você pode baixar o script acima a partir do seguinte link:

Escrita ExportExchangeRegistrySettings.ps1

De modo a utilizar o script acima - baixá-lo para um de seus servidores Exchange (ele vai trabalhar com qualquer servidor Exchange 2007 e 2010, tanto com todas as funções instaladas ou funções segregadas (venha para pensar sobre isso, porque, se você instalar o PowerShell no Exchange 2003 servidores que também deve funcionar) e executá-lo a partir de uma janela de comando PowerShell (você não tem que usar o Shell de Gerenciamento do Exchange para que ele funcione como ele não usa qualquer troca CMDLETS Específicos).

Por exemplo, se você baixar o script para a unidade C: \ você pode executá-lo através do seguinte método:

[Iniciar> Executar]

Em seguida, digite "Powershell"

Desde o tipo de janela de comando PowerShell nos seguintes comandos:

  Set-ExecutionPolicy "RemoteSigned" 
  cd \ 
  c: \ 
  . \ ExportExchangeRegistrySettings.ps1 

O que se segue é uma saída tela de exemplo do script:

  Directory: Microsoft.PowerShell.Core \ FileSystem :: C: \ 
  Modo LastWriteTime comprimento do nome 
 ---- ------------- ------ ----  
 d ---- 13/09/2009 23:17 ExchRegDirectory  

 c: \ ExchRegDirectory \ ExchangeReg [0] .txt  
 c: \ ExchRegDirectory \ ExchangeReg [10] .txt  
 c: \ ExchRegDirectory \ ExchangeReg [11] .txt  
 c: \ ExchRegDirectory \ ExchangeReg [12] .txt  
 c: \ ExchRegDirectory \ ExchangeReg [13] .txt  
 c: \ ExchRegDirectory \ ExchangeReg [14] .txt  
 c: \ ExchRegDirectory \ ExchangeReg [15] .txt  
 c: \ ExchRegDirectory \ ExchangeReg [16] .txt 
  1 arquivo (s) copiado.  
 Script foi concluída 
  Após concluir o script, você vai achar que em seu servidor Exchange, há um novo Diretório localizado em c: \ ExchRegDirectory;  nele você encontrará um arquivo chamado "ExchangeServices.txt" - se você abrir esse arquivo no bloco de notas que você deve ver o conteúdo semelhante ao seguinte: 
  Windows Registry Editor Version 5.00 
  [HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ MSExchange ActiveSync] 
 @ = "Automaticamente gerenciado pelo Exchange" 
  [HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ MSExchange ActiveSync \ Diagnostics] 
 "1 Solicitações" = dword: 00000000 
 "2 Configuração" = dword: 00000000 
  [HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ MSExchange ActiveSync \ HTTP controles de cabeçalho] 
  [HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ MSExchange ActiveSync \ HTTP Header Controls \ 12.0] 
 "X-Powered-By" = dword: 00000001  
 "X-aspnet-Version" = dword: 00000001 
 "Connection" = dword: 00000001  
 "Vary" = dword: 00000001 
  [HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ MSExchange ActiveSync \ HTTP Header Controls \ 12.1] 
 "X-Powered-By" = dword: 00000001  
 "X-aspnet-Version" = dword: 00000001 
 "Connection" = dword: 00000001  
 "Date" = dword: 00000001 
 "Servidor" = dword: 00000001  
 "Cache-Control" = dword: 00000001 
 "MS-Server-ActiveSync" = dword: 00000001  
 "Vary" = dword: 00000001 
  [HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ MSExchange ActiveSync \ HTTP Header Controls \ 2.0] 
 "X-Powered-By" = dword: 00000001  
 "X-aspnet-Version" = dword: 00000001 
 "Vary" = dword: 00000001 

O tamanho e do conteúdo deste arquivo vai depender das funções instaladas no Exchange Server que você tenha executado o script contra, o resultado final é um arquivo que contém todas as configurações do registro que são relevantes para o Exchange no servidor que você escolheu para consulta.
Espero que isso ajude alguém ao longo do caminho.

comments… add one now } {0 comentários ... adicionar um agora }

Deixe um comentário

CAPTCHA Image
Atualizar Imagem
*

Post anterior:

Próximo post: