Utveksling 2007/2010 - Eksporter alle registerinnstillinger ved hjelp av Powershell ...

av Andy Grogan2 september 2009 · 0 kommentarer

i Exchange 2007 (General) , Exchange-registerinnstillinger , Veksling Services , Powershell

Gjort litt rydde opp og medarbeider nylig på en rekke av mine Exchange-servere i arbeid, og mens du gjør så la jeg merke til at jeg har (over år) gjorde et nummer noen endringer i Windows-registeret i forhold til Exchange Services.
Mens gjennomgå disse endringene, kan jeg huske at det var en rekke grunner til hvorfor jeg hadde gjort dem - for eksempel ytelse og transportproblemer som jeg hadde kommet over med leverandører.

Men det faktum at jeg hadde funnet disse endringene igjen og gitt at de grunner for å gjøre dem er ikke fokus for denne artikkelen, kan du bli tilgitt for å spørre "hvorfor har jeg hevet det?"

Vel to ting slo meg mens jeg var å gjennomgå disse innstillingene:

  1. Hvis jeg måtte gjenopprette fra backup og ikke bruker "System State" Jeg ville mistet alle av dem og synes det er veldig vanskelig å finne ut hvilke endringer som skal gjøre igjen i en restaurering situasjon
  2. Gå gjennom Exchange Services i registret er vanskelig å gå ved hjelp av Regedit

Så gitt ovenfor jeg begynte å tenke på en måte å eksportere alle Exchange Exchange sentriske registerinnstillinger på en server i én fil - som kan brukes til restaurering eller referanseformål senere.
Jeg gikk gjennom en rekke metoder, for eksempel å lage en liten applikasjon i C # ved hjelp av Register klasse, og VBScript - men til slutt avgjort jeg på en blanding av Powershell og registeret Command line søknad (Regedit.exe).

Følgende er manuset som jeg kom opp med:

  $ Exch. = Get-ChildItem -Path HKLM: \ SYSTEM \ CurrentControlSet \ Services | der {. $ _ Navn -lignende '* Utveksling *'} 
  $ RegSeed = $ Exch.Count 
 $ SeedIndex = 0 
 $ DirectoryPath = "c: \ ExchRegDirectory" 
  if (! (Test-Path -path $ DirectoryPath))  
 { 
  New-vare $ DirectoryPath -type katalog 
  } Else { 
  Fjern-vare $ DirectoryPath -Recurse 
  New-vare $ DirectoryPath -type katalog 
 } 
  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 "Kopier $ DirectoryPath \ *. Txt $ DirectoryPath \ $ MergerFile" 
 & $ MergeApp / c "Del $ DirectoryPath \ *. Txt" 
 & $ MergeApp / c "Ren $ DirectoryPath \ $ MergerFile $ ExchName" 
  Skriv-Host "Script har fullført" 

Du kan laste ned skriptet ovenfor fra følgende link:

Script ExportExchangeRegistrySettings.ps1

For å bruke skriptet ovenfor - laste den ned til en av dine Exchange-servere (det vil fungere med alle Exchange 2007 og 2010 server med enten alle roller installert eller segregerte roller (kommer til å tenke på det, for hvis du installerer Powershell på din Exchange 2003 servere det skal også fungere) og kjøre den fra en Powershell kommandovindu (du trenger ikke å bruke Exchange Management Shell i for at den skal fungere som den ikke bruker noen av spesifiserte cmdlets).

For eksempel hvis du laster ned manuset til c: \ drive du kan kjøre det via følgende metode:

[START-> KJØR]

Deretter skriver du "Powershell"

Fra Powershell kommandovinduet skriver du inn følgende kommandoer:

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

Følgende er en utgang Eksempel skjermen fra manus:

  Katalogen: Microsoft.PowerShell.Core \ Filesystem :: C: \ 
  Modus LastWriteTime Lengde Name 
 ---- ------------- ------ ----  
 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 fil (er) kopiert.  
 Script har fullført 
  Ved skriptet fullført, vil du finne at på Exchange-serveren er det en ny Directory ligger i c: \ ExchRegDirectory;  der vil du finne en fil som heter "ExchangeServices.txt" - Hvis du åpner filen i Notepad bør du se innhold som ligner på følgende: 
  Windows Registry Editor Version 5.00 
  [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MSExchange ActiveSync] 
 @ = "Automatisk styrt av Exchange" 
  [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MSExchange ActiveSync \ Diagnostics] 
 "1 Requests" = dword: 00000000 
 "2 Configuration" = dword: 00000000 
  [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MSExchange ActiveSync \ HTTP Header Controls] 
  [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MSExchange ActiveSync \ HTTP Header Controls \ 12.0] 
 "X-Powered-By" = dword: 00000001  
 "X-aspnet-versjon" = 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-versjon" = dword: 00000001 
 "Connection" = dword: 00000001  
 "Date" = dword: 00000001 
 "Server" = 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-versjon" = dword: 00000001 
 "Vary" = dword: 00000001 

Størrelsen og innholdet i denne filen vil avhenge av rollene installert på Exchange Server som du har utført manuset mot, er sluttresultatet en fil som inneholder alle registerinnstillingene som er relevante til Exchange på serveren du har valgt å spørring.
Håper at dette hjelper noen underveis.

comments… add one now } {0 kommentarer ... legge en nå }

Legg igjen en kommentar

CAPTCHA Image
Oppdater bilde
*

Forrige post:

Neste post: