W ramach naszej witryny stosujemy pliki cookies. Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. Dowiedz się więcej tutaj
X

Księgarnia PWN

   

   

   

   

   

   

.

.

.

.

Bezpłatny newsletter


PowerShell – zdalna administracja

PowerShell – zdalna administracja

W PowerShell v2 wprowadzono nowe, zaawansowane technologie zdalnego dostępu. Zostały one oparte na standardowych protokołach i jest to prawdopodobnie jeden z najważniejszych aspektów PowerShell. 

Z tego artykułu czytelnik dowie się:

  • Jak przeprowadzić konfigurację PowerShell Remoting.
  • W jaki sposób włączać i wyłączać usługę PowerShell Remoting.
  • Jak uruchamiać komendy na zdalnych systemach.

Polecenia PowerShell można uruchamiać na zdalnych systemach za pomocą różnych technologii, takich jak, np. RDP czy też usług terminalowych. Mimo, że można z nich korzystać, nie są one najbardziej efektywne. Korzystanie z wbudowanych funkcji zdalnego dostępu w PowerShell zapewnia znacznie szybszy i bardziej wydajny sposób pracy na zdalnych komputerach.

W tym artykule czytelnik dowie się, jak włączyć usługę PowerShell Remoting, jak również zapozna się z elementami, które są wymagane w celu umożliwienia uruchomienia zdalnej usługi. Przedstawione zostaną również przykłady, jak uruchamiać polecenia PowerShell na zdalnych komputerach, za pośrednictwem zdalnej sesji lub zdalnych poleceń.

Konfiguracja Zdalnego dostępu w PowerShell

Domyślnie zdalny dostęp w PowerShell jest zawsze wyłączony. Związane to jest z zapewnieniem bezpieczeństwa danego środowiska. Aby korzystać z tej usługi musi ona zostać uruchomiona nie tylko na systemie, którym zechce zarządzać administrator, ale także na systemach z których będą wprowadzane polecenia administracyjne.

Wymagania usługi.

Przed włączeniem w PowerShell usługi zdalnego dostępu, należy zrozumieć składniki potrzebne dla tego środowiska. W szczególności potrzebne są dwa składniki (oczywiście poza PowerShell 2.0):

  • .NET Framework 2.0 lub nowszy
  • Windows Remote Management (WinRM) 2.0

WinRM jest głównym składnikiem używanych przez PowerShell Remoting. WinRM jest częścią systemu Windows. W przypadku innych systemów należy go pobrać i zainstalować. Jest on dostępny za pośrednictwem zintegrowanego pakietu instalacyjnego w Windows Management Framework. WinRM jest zainstalowany jako usługa, i nie jest domyślnie włączona.

Wykorzystywany jest tutaj protokół WS-Management, który umożliwia zdalne komunikowanie się i pomaga heterogonicznym systemom, urządzeniom i oprogramowaniu, wykonywać polecenia na zdalnej infrastrukturze.

Ten typ komunikacji wykorzystywano do obsługi przez protokoły takie jak Remote Procedure Call (RPC). WinRM jest łatwy do skonfigurowania i jest oparty na protokołach, które współpracują z całą infrastrukturą bezpieczeństwa taką jak np. ściany ogniowe.

Poza uruchomioną usługą WinRM na systemach, które mają być zarządzane należy również upewnić się, czy użytkownik ma odpowiednie uprawnienia do uruchamiania poleceń dla pracy zdalnej. Użytkownik musi być członkiem lokalnej grupy administratorów na zdalnym komputerze, który ma być zarządzany.

Słowo na temat lokalizacji w sieci

W systemach operacyjnych takich jak Windows Server 2008 R2, Windows 7 użytkownicy mają do wyboru trzy sieci lokalizacji: domeny, prywatne lub publiczne. Lokalizacja w sieci pozwala przede wszystkim określić odpowiedni poziom bezpieczeństwa dla systemów w sieci. Określa również, jak firewall jest skonfigurowany. Lokalizację sieci można zmienić w Centrum sieci i udostępniania.

Dla usług zdalnych bieżąca lokalizacja sieci musi być skonfigurowana jako domena lub sieć prywatna. W przypadku sieci publicznych nie będzie można skonfigurować usługi PowerShell Remoting. Przy próbie uruchomienia polecenia Enable-PSRemoting w sieci publicznej system nie będzie w stanie utworzyć wyjątków zapory sieciowej dla WinRM. Pojawi się błąd podobny do tego zaprezentowanego na rysunku 1.

Rysunek 1. Błąd lokacji sieci

1

Uruchamianie Zdalnego dostępu w PowerShell

Włączenie usługi zdalnego dostępu w PowerShell jest bardzo proste i polega na wydaniu jednego polecenia. Aby włączyć zdalny dostęp należy wykonać następujące polecenie w konsoli PowerShell z uprawnieniami administratora:

Enable-PSRemoting

Funkcja cmdlet Set-WSManQuickConfig dba o zautomatyzowanie wszystkich procesów wymaganych do uruchomienia WinRM i aktywacji zdalnych poleceń w PowerShell. Próba uruchomienia tego polecenia bez uprawnień administracyjnych spowoduje wyświetlenie błędu przedstawionego na rysunku 2.

Rysunek 2. Próba uruchomienia polecenia Enable-PSRemoting bez uprawnień administratora

2

Aby uniknąć tego błędu wystarczy uruchomić konsolę z uprawnieniami administratora i ponownie wykonać polecenie Enable-PSRemoting. Po uruchomieniu Enable-PSRemoting, pojawi się ekran jak na rysunku 3.

Rysunek 3. Enable-PSRemoting

3

System stara się upewnić czy użytkownik jest pewny swojego wyboru. Pojawi się pytanie czy proces ma być kontynuowany. Domyślną opcją jest wybór „Y”, czyli zgoda na rozpoczęcie procesu. Dodatkowe opcje to „A” Yest to All – przy wyborze tej opcji wszystkie pozostałe pytania zostaną potwierdzone, bez dalszych pytań. Ostatnia grupa opcji to „N” i „L” No to All. Odpowiedź „N” to brak zgody tylko na pierwszy etap procesu, „L” to całkowita rezygnacja ze wszystkich dalszych kroków aktywacji. Po wybraniu opcji „Y” użytkownik zobaczy ekran podobny do tego na rysunku 4.

Rysunek 4. Potwierdzenie aktywacji PowerShell Remoting

4

Istnieje jeszcze inna metoda wykorzystania polecenia Enable-PSRemoting. Aby wyeliminować konieczność odpowiadania na każde pytanie w celu weryfikacji konfiguracji, można wykorzystać odpowiedni przełącznik jak –Force. Po wpisaniu poniższego polecenia nie pojawią się żadne monity wymagające potwierdzeń ze strony użytkownika:

Enable-PSRemoting -Force

Tryb XP

W systemie Windows 7 wprowadzono tryb XP, czyli możliwość uruchomienia wirtualnej maszyny Windows XP dla poprawienia kompatybilności systemu Windows 7. W trybie XP także istnieje możliwość zainstalowania PowerShell 2.0 i uruchomienie usługi zdalnego dostępu przez funkcję Enable-PSRemoting. Jednak przy pierwszym uruchomieniu funkcji pojawi się komunikat błędu przedstawiony na rysunku 5.

Rysunek 5. Tryb XP i błąd przy aktywacji zdalnego dostępu

5

Komunikat błędu związany jest z domyślnym poziomem bezpieczeństwa dostępnym w trybie XP i metodą jaka jest obsługiwana przy uwierzytelnianiu logowania do sieci, przy użyciu lokalnego konta. Domyślne ustawienia wszystkich użytkowników do lokalnego konta gościa nie mają wystarczających uprawnień, aby zmienić ustawienia. Można zmienić ustawienia tak, aby konto używane do logowania w sieci nie było przypisane do konta gościa, ale odwzorowane do rzeczywistego uwierzytelnionego konta. Aby zmienić te ustawienia w trybie XP, należy zmodyfikować ustawienia GPO, z wykorzystaniem następującej procedury:

1. Należy przejść do maszyny wirtualnej XP, wybrać Start ⇒ Uruchom.

2. W oknie uruchom wpisać gpedit.msc i nacisnąć klawisz Enter. Zostanie załadowany edytor zasad grupy dla systemu lokalnego w trybie XP.

3. Kliknąć na kontener Konfiguracja komputera i rozwinąć dostępne tam drzewo.

4. Przejść do Windows Settings ⇒ Security Settings ⇒ Local Policies ⇒ Security Options.

5. Należy tutaj odnaleźć Dostęp sieciowy: udostępnianie i model zabezpieczeń dla kont lokalnych. Kliknąć dwukrotnie na ustawienia i zmienić bieżącą wartość.

6. W tym miejscu należy zmienić wartość na Klasyczny - uwierzytelnianie użytkowników lokalnych, jako samych siebie. Ekran użytkownika powinien wyglądać jak na rysunku 6.

Rysunek 6. Tryb XP - ustawienie zasad grupy

6

7. Na koniec wystarczy kliknąć na OK i zamknąć edytor.

Po przeprowadzeniu modyfikacji ustawień, można powrócić do sesji PowerShell i ponownie uruchomić w konsoli polecenie Enable-PSRemoting, które powinno działać już bez błędów.

Co należy wiedzieć o Enable-PSRemoting?

Po uruchomieniu polecenia Enable-PSRemoting, można zauważyć w konsoli komunikat, który przekazuje informacje o:

Uruchomieniu lub ponownym uruchomieniu (jeśli jest już uruchomiona) usługi WinRM.

Ustawieniu usługi WinRM w tryb uruchamiania autostart.

Utworzeniu procesu nasłuchiwania, który przyjmuje zgłoszenia na dowolnym adresie IP.

Włączenie wyjątków na zaporze sieciowej dla ruchu WS-Management (tylko dla HTTP).

Polecenie Enable-PSRemoting wykonuje kilka zadań. Zostaje uruchomiony cmdlet Set-WSManQuickConfig wykonujący kilka ważnych konfiguracji w systemie operacyjnym:

  1. Uruchamia usługę WinRM i ustawia tę usługę na automatyczny tryb uruchamiania wraz ze startem systemu operacyjnego.
  2. Tworzony jest proces odpowiedzialny za proces nasłuchiwania, który przyjmuje zgłoszenia ze wszystkich adresów IP.
  3. Tworzone są wyjątki na zaporze sieciowej systemu Windows. Do komunikacji domyślnie jest wykorzystywany port TCP 5985. Na rysunku 7 można zobaczyć przykład reguły zapory z systemu Windows Server 2008 R2.

Rysunek 7. Usługa WinRM uruchomiona na zaporze sieciowej systemu operacyjnego Windows Server 2008 R2

7

  1. Zapisanie konfiguracji sesji Microsoft.PowerShell (chyba że już zarejestrowana).
  2. Rejestruje konfigurację sesji Microsoft.PowerShell32 na 64-bitowych systemach (chyba, że ​​została już zarejestrowana).
  3. Usuwa wszelkie ustawienia typu „Deny” z deskryptorów zabezpieczeń dla wszystkich zarejestrowanych konfiguracji sesji.
  4. Ponowne uruchomienie usługi WinRM po zakończeniu całego etapu konfiguracji i ustawień.

Wyłączanie usługi PowerShell Remoting

Gdy zaistnieje konieczność dezaktywacji usługi PowerShell Remoting można wykorzystać polecenie:

Disable-PSRemoting

Po uruchomieniu powyższego polecenia, pojawi się komunikat podobny do tego z rysunku 8.

Rysunek 8. Disable-PSRemoting

8

Choć funkcja ta skutecznie wyłącza usługę zdalnego dostępu to nie cofa wszystkich zmian, które zostały wprowadzone przez Enable-PSRemoting. Jak można przeczytać w ostrzeżeniu należy wykonać jeszcze następujące czynności:

  1. Zatrzymać i dezaktywować proces WinRM.
  2. Usunąć proces nasłuchiwania usługi WinRM.
  3. Usunąć wszystkie wyjątki na zaporze sieciowej związane z WinRM.
  4. Przywrócić w rejestrze systemu wartość LocalAccountTokenFilterPolicy do 0.

Aby przeprowadzić wszystkie te zmiany należy wykonać poniższe procedury:

Usuwanie procesu nasłuchującego WinRM.

  1. Otworzyć okno wiersza poleceń, wybierając Start ⇒ Command Prompt.
  2. Następny krok to usunięcie adresu procesu nasłuchującego. Aby zobaczyć wszystkie procesy nasłuchujące, należy użyć następującego polecenia, dzięki któremu zostanie podany adres:

winrm enumerate winrm/config/listener

Pojawi się ekran podobny do tego z rysunku 9.

Rysunek 9. Proces nasłuchujący WinRM

9

3. Należy zorientować się jaki adres przypisany jest dla procesu nasłuchującego, na porcie 5985 i warstwie transportowej HTTP. Na powyższym rysunku widać, że w pozycji Address = podana jest gwiazdka, która oznacza dowolny adres.

4. Aby usunąć proces nasłuchujący, należy wprowadzić następujące polecenie, umieszczając adres wraz z warstwą transportową:

winrm delete winrm/config/Listener?Address= *+Transport=HTTP

5. Po wprowadzeniu polecenia należy nacisnąć klawisz Enter, aby nastąpiło usunięcie procesu nasłuchującego.

Zatrzymanie i wyłączenie usługi WinRM

1. W systemie należy otworzyć panel sterowania i wybrać Usługi wybierając (w systemie Windows XP): Start ⇒ Wszystkie programy ⇒ Administrative Tools ⇒ Usługi. W systemie Windows 7: Panel sterowania ⇒ System i zabezpieczenia ⇒Narzędzia administracyjne ⇒ Usługi.

2. W oknie Usługi, należy przejść do pozycji usługi Windows Remote Management (WS-Management), patrz rysunek 10.

Rysunek 10. Usługa Zdalne zarządzanie systemem Windows (WS-Management)

10

3. Kliknąć prawym przyciskiem myszy na usłudze i wybrać z menu kontekstowego Właściwości lub kliknąć dwukrotnie na usługę. Pojawi się ekran podobny do tego z rysunku 11.

Rysunek 11. Usługa WinRM

11

4. Kliknąć na przycisk Stop, aby zatrzymać usługę.

5. Kliknąć na Typ uruchomienia i z listy rozwijalnej wybrać Wyłączony.

6. Kliknąć przycisk OK.

7. Zamknąć panel sterowania Usługi.

Łatwiejszym i szybszym sposobem na wykonanie tej samej procedury jest wykorzystanie PowerShell, gdzie aby doprowadzić do zatrzymania i wyłączenia usługi wystarczy wykonać poniższe cmdlety:

Stop-Service WinRM – zatrzymanie usługi WinRM

Set-Service WinRM -StartupType Disabled – usługa nie będzie uruchamiana podczas startu systemu operacyjnego.

Wyłączenie wyjątków związanych z WinRM na zaporze sieciowej.

1. Należy otworzyć program Windows Firewall with Advanced Security wybierając Start ⇒ Panel sterowania ⇒ System i zabezpieczenia ⇒ Zapora systemu Windows ⇒ Ustawienia zaawansowane.

2. Z lewej strony należy kliknąć na Reguły przychodzące.

3. Przewinąć listę z regułami do pozycji ​​Windows Remote Management (ruch przychodzący HTTP) i wybrać ją. Ekran będzie wyglądać jak na rysunku 12.

Rysunek 12. Wyłączenie wyjątków związanych z usługą WinRM na zaporze sieciowej

12

4. Po zaznaczeniu reguły, ​​należy kliknąć na przycisk Wyłącz regułę, który można odnaleźć z prawej strony w zakładce Akcje.

5. Zamknąć Windows Firewall with Advanced Security.

Przywracanie wartości rejestru LocalAccountTokenFilterPolicy do poziomu 0

Uwaga!!!

Należy pamiętać, by nie dokonywać w rejestrze systemu przypadkowych zmian. Uszkodzenie rejestru może spowodować nawet konieczność reinstalacji systemu operacyjnego.

1. Przechodzimy do StartUruchom (Windows XP) lub Wyszukaj programy i pliki (Windows 7). Należy wpisać regedit.exe i nacisnąć przycisk Enter. Zostanie uruchomiony edytor rejestru.

2. Gdy w systemie pojawi się monit: „Czy chcesz zezwolić następującemu programowi na wprowadzenie zmian na tym komputerze”, należy kliknąć na Tak, aby kontynuować.

3.Dalszy etap to przejście do następującej pozycji w rejestrze:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.

4. W tym miejscu trzeba odnaleźć klucz LocalAccountTokenFilterPolicy.

5. Po odnalezieniu klucza LocalAccountTokenFilterPolicy, należy dwukrotnie na niego kliknąć, by uruchomić edytor pozwalający na zmianę i wprowadzić nową wartość 0. Ekran będzie wyglądać jak na rysunku 13.

Rysunek 13. Edycja klucza LocalAccountTokenFilterPolicy

13

6. Na zakończenie pozostaje kliknąć na OK i zamknąć edytor rejestru.

Tę samą operację można wykonać znacznie szybciej za pomocą konsoli PowerShell wystarczy wykonać następujące polecenia:

Set-ItemProperty -path

HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion

\Policies\System -Name “LocalAccountTokenFilterPolicy”

-Value “0”

Uruchamianie komend na zdalnych systemach.

Gdy już została uruchomiona usługa PowerShell Remoting na systemie z zainstalowanym PowerShell 2.0, można go użyć jako narzędzia administracyjnego. Można tutaj przystąpić do pracy z zdalnymi serwerami na dwa sposoby. Po pierwsze, można uruchamiać polecenia na lokalnym komputerze i następnie wysyłać dane na zdalny administrowany serwer za pomocą polecenia invoke-command. Druga metoda polega na zarządzaniu poprzez interaktywną sesję zdalnego serwera uruchomioną na lokalnym komputerze.

Niektóre cmdlety PowerShell udostępniają parametr ComputerName.Nie wymagają one uruchomionego zdalnego dostępu by można je było wykorzystywać. Jeżeli dany cmdlet posiada ten parametr nie muszą one korzystać z usługi PowerShell Remoting. W skład tych cmdletów wchodzą tak popularne polecenia jak Get-Service, Get-Process, i Get-Eventlog,

Aby znaleźć listę wszystkich poleceń, które w swoich parametrach mają ComputerName, można uruchomić polecenie Get-Help * parametr ComputerName. Wyniki będą podobne do tych z rysunku 14.

Rysunek 14. Cmdlety PowerShell z parametrem ComputerName

14

Aby upewnić się czy dane polecenie wymaga uruchomionej usługi zdalnego dostęu można wykorzystać polecenie Get-Help. Na przykład do sprawdzenia czy cmdlet Invoke-Command może być wykorzystywany bez usługi zdalnego dostępu, należy wykonać polecenie:

Get-Help Invoke-Command – parameter ComputerName

Wyniki uzyskane będą takie jak na rysunku 15.

Rysunek 15. Sprawdzamy czy polecenie Invoke-Command potrzebuje usługi zdalnego dostępu

15

Podczas korzystania parametru ComputerName, można użyć w pełni kwalifikowanej nazwy domeny (FQDN), nazw NetBIOS lub adresów IP określonego systemu lub systemów.

Invoke-Command

Polecenia Invoke-Command można używać do uruchamiania na zdalnych serwerach bloku skryptów poleceń PowerShell. Invoke-Command łączy się czasowo z serwerem, którym mamy administrować i uruchamia ustalone polecenia. Podstawowa składnia polecenia Invoke-Command:

Invoke-Command -ComputerName {sekcjaskryptów}.

Studium przypadku.

Jeżeli wystąpi konieczność restartu usługi Windows Update na kilku serwerach o nazwach: Server1, Serwer2 i Server3, należy wykonać następujące polecenia:

Invoke-Command -ComputerName Serwer1, Serwer2, Serwer3

{Restart-Service -name wuauserv}

Polecenie będzie wykonywane, aż do jego zakończenia. Jeżeli zaistnieje potrzeba wcześniejszego zatrzymania polecenia uruchomionego na zdalnej maszynie można wysłać żądanie przerwania poprzez naciśnięcie kombinacji klawiszy Ctrl + C.

Interaktywna sesja zdalnej administracji PowerShell.

Jak to już zostało wspomniane wcześniej istnieje jeszcze możliwość wykonywania na zdalnym hoście poleceń PowerShell w sesji interaktywnej za pomocą cmdletu Enter-PSSession. W ten sposób administrator uzyskuje dostęp do interaktywnej sesji bezpośrednio na zdalnym serwerze, do momentu aż sesja zostanie zakończona. Po podłączeniu administrator uzyskuje dostęp do wbudowanych cmdletów na zdalnym serwerze. Na przykład, jeśli chcemy połączyć się z komputerem o nazwie GSG, należy wykonać następujące polecenie:

Enter-PSSession –ComputerName GSG –Credential $cred

Uzyskany wynik będzie podobny do tego z rysunku 16.

Rysunek 16. Przykład zdalnej sesji PowerShell

16

Gdy tylko nastąpi połączenie ze zdalnym hostem, w konsoli pojawi się monit, który wskazuje z jaką maszyną jesteśmy w danej chwili połączeni. Nazwa zdalnej maszyny zostanie ujęta pomiędzy nawiasami kwadratowymi, np. [Komputer3]. Aby zakończyć zarządzanie zdalnym hostem i powrócić do lokalnej sesji PowerShell, należy wpisać następujące polecenie cmdlet:

Exit-PSSession

To przejście z bieżącej sesji zdalnych.

PowerShell pozwala na zachowanie wielu zdalnych sesji. Do tworzenia wielu trwałych połączeń, należy wykorzystać cmdlet New-PSSession cmdlet. Aby utworzyć sesję na określonym serwerze o nazwie Komputer1, należy wpisać takie oto polecenie:

New-PSSession Komputer1

Jeżeli podczas korzystania z New-PSSession nie zostanie podana nazwa komputera, zostanie utworzona sesja jedynie do systemu lokalnego. Podczas tworzenia nowej sesji z wykorzystaniem cmdletu New-PSSession, nadawany jest określony numer identyfikacyjny, który może być również używany, do nawiązania określonej zdalnej sesji. Na rysunku 17 został przedstawiony przykład utworzenia sesji z wykorzystaniem New-PSSession.

Rysunek 17. Przykład wykorzystania cmdletu New-PSSession

17

Istnieje także możliwość utworzenia wielu zdalnych sesji, wykorzystując cmdlet New-PSSession i parametru ComputerName.

Poniżej przykład przedstawiający jak utworzyć trzy zdalne sesje do komputerów o nazwach: Serwer1, Serwer2 i Serwer3:

New-PSSession -ComputerName Serwer1, Serwer2, Serwer3.

Jedną z większych zalet korzystania z cmdletu New-PSSession jest to, że pozwala na stworzenie trwałych połączeń w lokalnej sesji PowerShell, dzięki czemu można łatwo przełączać się pomiędzy sesjami różnych systemów. Do sprawdzenia jakie sesje są aktualnie zdefiniowane w systemie, należy wpisać następujące polecenie:

Get-PSSession

Na rysunku 18, został przedstawiony przykład działania polecenia Get-PSSession, które służy do sprawdzenia dostępnych w systemie zdalnych sesji.

Rysunek 18. Przykład działania cmdletu Get-PSSession

18

Pomiędzy sesjami można przełączać się za pomocą poleceń Invoke-Command lub Enter PSSession, wykorzystując do tego identyfikatory (ID) sesji. Nie ma w takiej sytuacji potrzeby korzystania z nazwy zdalnego komputera.

Aby uzyskać dostęp do sesji PowerShell, np. z ID 2, należy wpisać:

Enter-PSSession -ID 2

Należy pamiętać, o tym, że zdalne sesje pozostają otwarte nawet, gdy zostanie wykorzystany do jej zamknięcia cmdlet Exit-PSSession. Do zamykania sesji, można skorzystać z cmdletu Remove-PSSession, a następnie numeru jej ID.

Aby zamknąć sesję np. o ID 2, należy wpisać nastęujące polecenie:

Remove-PSSession -ID 2

Bardzo ułatwiającym administrację wieloma zdalnymi sesjami jest możliwość przypisania do zmiennej jednej lub więcej sesji. W ten sposób można grupowo zarządzać dużą ilością maszyn. Na przykład następujące polecenie cmdlet przypisze zmiennej $zs wszystkie zdalne sesje aktualnie uruchomione na lokalnym komputerze:

$zs=Get-PSSession

Następnie można użyć tej zmiennej w poleceniach pozwalających na jednoczesne zarządzanie wieloma zdalnymi serwerami, na przykład:

Invoke-Command -Session $zs {Get-Service}

Rysunek 19 przedstawia działania powyższego polecenia przy wykorzystaniu wcześniej zdefiniowanej zmiennej $zs.

Rysunek 19. Przykład działania polecenia Invoke-Command i zdefiniowanej zmiennej $zs

19

Zdalny dostęp z poziomu PowerShell ISE

PowerShell umożliwia tworzenie zdalnych połączeń nie tylko bezpośrednio z samej konsoli, ale także przy wykorzystaniu z graficznego edytora PowerShell ISE. Narzędzie to umożliwia tworzenie wielu zakładek z oddzielnymi sesjami zdalnych połączeń. Aby uruchomić zdalną sesję w ISE, należy wykonać następujące czynności:

1. Uruchomić program PowerShell ISE, kliknąć przycisk File ⇒ New Remote PowerShell Tab. Pojawi się ekran podobny do tego na rysunku 20.

Rysunek 20. Zakładka PowerShell Remote w PowerShell ISE

20

2. W oknie dialogowym New Remote należy wprowadzić nazwę komputera, a jeśli ma być użyte inne poświadczenie niż aktualnie zalogowanego użytkownika, należy je również tutaj wprowadzić.

3. Po wprowadzeniu wszystkich informacji, kliknąć na przycisk Connect. Nastąpi próba połączenia ze zdalnym hostem. Jeżeli wszystko się powiedzie pojawi się ekran podobny do tego na rysunku 21.

Rysunek 21. PowerShell ISE z uruchomioną zakładką zdalnego dostępu

21

Do zakończenia tak otworzonej sesji wystarczy zamknąć kartę, na której znajduje się określona sesja. 

Polecamy

Partnerzy