This post is also available in: angielski
Często pracując z serwerami Micorosoft Exchange korzystamy z konsoli EMS czyli Exchange Management Shell. Dzięki temu mamy dostęp do wszystkich poleceń dostępnych w powershell dla serwerów Exchange.
Niestety większość z nas aby uruchomić konsolę EMS najpierw łączy się do serwera Exchange zdalnym pulpitem lub do innego serwera z zainstalowanymi narzędziami Exchange.
Całkiem prosto możemy to zmienić i uruchamiać sesję PowerShell do naszego serwera Exchange z naszej stacji (laptop, desktop).
Poniżej przedstawimy jak łatwo można dodać wpis do menu Powershell ISE który pozwala nam na wywołanie zdalnej sesji Powershell do serwera Microsoft Exchange.
Na początek uruchamiamy Powershell ISE i w okienku wpisujemy:
Set-ExecutionPolicy RemoteSigned
a następnie:
$profile
Dzięki temu uzyskamy informację o tym gdzie powinien znajdować się nasz plik w którym możemy definiować profil uruchamianej konsoli PowerShell na stacji roboczej.
Aby sprawdzić czy plik istnieje możemy albo przejść do wskazanej lokalizacji albo wpisać w konsoli:
test-path $profile
Jeżeli otrzymamy wartość True oznacza to że plik taki istnieje jeżeli natomiast False wówczas musimy go utworzyć.
Aby utworzyć plik który będzie zawierał definicję dotyczące uruchamianej konsoli Powershell musimy wpisać polecenie:
new-item -path $profile -itemtype file -force
Następnie ponownie możemy sprawdzić czy otrzymamy wartość True dla polecenia:
test-path $profile
Po utworzeniu pliku profilu możemy przejść do jego edycji.
W tym celu wpisujemy polecenie:
notepad $profile
Plik z profilem zostanie otworzony w programie Notepad
Do pliku dodajemy poniższy kod
$psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Add( "Connect to Exchange ExchangeServer1", { $user = Get-Credential $ExSession= New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://serverexchange/PowerShell/ -Credential $user Import-PSSession $ExSession }, "Control+Alt+1" )
W linijce ExSession w ConnectionUri podajemy adres naszego serwera.
Użycie $user = Get-Credential spowoduje wyświetlenie się okienka z prośbą o wpisanie nazwy użytkownika oraz hasła za pomocą którego chcemy się połączyć z serwerem.
Jeżeli są to te same dane z jakimi jesteśmy zalogowani na stacji roboczej wówczas możemy nie używać zmiennej $user a linijke dla zmiennej ExSession na poniższą
$ExSession= New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchangeserver/PowerShell/ -Authentication Kerberos
Jeżeli chcemy utworzyć kilka połączeń Powershell do różnych serwerów powielamy ten kod zmieniając adres serwera oraz skót „Control+Alt+1″ na np „Control+Alt+2″
Po skonfigurowaniu wszystkich połączeń zapisujemy plik.
Teraz możemy zamknąć Powershell ISE i uruchomić ponownie.
Po uruchomieniu u góry z menu wybieramy: Add-ons i na dole Connect to server Exchange Server1
Teraz możemy wybrać to połączenie i połączyć się do sesji Powershell na serwerze Exchange gdzie możemy korzystać z wszystkich dostępnych CMDletów