Jak uruchomić zdalną sesję Powershell z Exchange On-Premises i Exchange Online

Uruchamianie zdalnych sesji Powershell umożliwia zaawansowane zarządzanie serwerami Exchange On-Premises jak i Office 365 z poziomu konsoli tekstowej. Przedstawione poniżej procedury opisują jakie kroki należy poczynić aby zainstalować i uruchomić narzędzia niezbędne do zdalnego zarządzania serwerami z poziomu Powershell.

Wymagania

Nasz komputer musi spełniać następujące minimalne wymagania potrzebne do nawiązania połączenia:

  • System operacyjny Windows 7 SP1 (lub nowszy)
    lub
  • Windows 2008 R2 SP1 (lub nowszy)

W przypadku Windows 7 SP1 i Windows 2008 R2 SP1 należy pamiętać o doinstalowaniu poniższych komponentów (w nowszych systemach są już one domyślnie zainstalowane):

Nawiązanie połączenia z Exchange 2013 On-Premises

Aby połączyć się z Exchange 2013 On-Premises:

  1. Uruchom konsolę Powershell na swoim komputerze.
  2. Wpisz komendę:
$Credentials = Get-Credential

W oknie, które się pojawi wpisz login i hasło użytkownika posiadającego prawa administracyjne na serwerze.

  1. Wpisz komendę:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<Exchange 2013 CAS FQDN>/PowerShell/ -Authentication Kerberos -Credential $Credentials

Uwaga: Jako adres serwera Exchange (fragment <Exchange 2013 CAS FQDN> w powyższym kodzie) podajemy adres serwera posiadającego role CAS.

  1. Wpisz komendę:
Import-PSSession $Session

Po chwili nawiązane zostanie połączenie z serwerem Exchange. Zaimportowane zostaną też cmdlety służące do zarządzania Exchange. Po zakończeniu pracy należy zamknąć sesję poleceniem:

Remove-PSSession $Session

Nawiązanie połączenia z Exchange 2013 Online/Office 365

Procedura jest podobna jak w przypadku połączeń z Exchange On-Premises:

  1. Uruchom konsolę Powershell na swoim komputerze.
  2. Wpisz komendę:
$Credentials = Get-Credential

W oknie, które się pojawi wpisz login i hasło użytkownika posiadającego prawa administracyjne na serwerze.

  1. Wpisz komendę:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credentials -Authentication Basic –AllowRedirection

W powyższym poleceniu adres serwera, z którym się łączymy jest ściśle określony i nie trzeba go zmieniać.

  1. Wpisz komendę:
Import-PSSession $Session

Po chwili nawiązane zostanie połączenie z serwerem Exchange. Zaimportowane zostaną też cmdlety służące do zarządzania Exchange. Po zakończeniu pracy należy zamknąć sesję poleceniem:

Remove-PSSession $Session

Typowe problemy związane z nawiązywaniem połączenia

Procedura nawiązywania połączenia jest stosunkowo prosta. Aby jednak mieć pewność, że połączenie zostanie nawiązane poprawnie należy pamiętać aby:

  1. Prawidłowo wpisywać login i hasło.
  2. Aktywować wykonywanie skryptów na komputerze, przy pomocy którego się łączymy z serwerem. Bieżące ustawienia możemy sprawdzić poleceniem Powershell:
Get-ExecutionPolicy

Komenda zwraca jeden z poniższych wyników:

  • Restricted” (wyłączona możliwość uruchamiania jakichkolwiek skryptów),
  • AllSigned” (można uruchamiać skrypty tylko jeśli są podpisane cyfrowo przez zaufany urząd certyfikacji),
  • RemoteSigned” (można uruchamiać wszystkie skrypty lokalne oraz te pobrane z Internetu, o ile są podpisane cyfrowo),
  • Unrestricted” (dozwolone nieograniczone uruchamianie skryptów).

Jeżeli wykonywanie skryptów jest ograniczone (“Restricted”) należy z poziomu konsoli Powershell wykonać poniższe polecenie (potwierdzamy wszystkie pytania, które się pojawią):

Set-ExecutionPolicy RemoteSigned
  1. Port TCP 80 był otwarty pomiędzy komputerem a zdalnym serwerem.
  2. Użytkownik posiadał odpowiednie prawa (Remote Shell). Można sprawdzić ich stan poleceniem PS wykonywanym na serwerze:
Get-User robert@mojadomena.com | select Name,RemotePowershellEnabled

Jeżeli sprawdzany powyższą komendą użytkownik nie ma odpowiednich praw, można je nadać poleceniem:

Set-User robert@mojadomena.com -RemotePowerShellEnabled $True

Uwaga: Prawa te są domyślnie aktywowane dla każdego nowoutworzonego użytkownika.

Konsola Powershell to potężne narzędzie. Fakt, iż można go używać również zdalnie, tak by na stacji roboczej dokonywać zmian bezpośrednio na serwerze tylko przemawia na jego korzyść, w szczególności iż jest w nie wyposażony każdy współczesny system Windows.

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Administratorem Twoich danych osobowych jest CodeTwo sp. z o.o. sp. k.
Dowiedz się więcej w naszej Polityce Prywatności.