Strony

niedziela, 14 czerwca 2020

Kopiowanie plików ze zdalnej maszyny Windows przy użyciu PowerShella

Czasami zachodzi potrzeba skopiowania plików ze zdalnej maszyny z systemem Windows przy użyciu innego rodzaju połączenia niż SMB, tudzież schowek Pulpitu Zdalnego. 

Wtedy można skorzystać np. z PowerShella. 

A jak się to odbywa?

Tak więc, kopiowanie odbywa się w dwóch etapach:
  1. Utworzenie sesji do zdalnej maszyny, czyli utworzenie połączenia, które potem zostanie wykorzystane. Samo utworzenie sesji niczym nie skutkuje, poza tym, że możemy skorzystać z tak utworzonej sesji w innych poleceniach.
  2. Właściwe kopiowanie plików z wykorzystaniem sesji utworzonej w pkt 1.
Tak to wygląda w teorii, a poniżej praktyka z komendami i komentarzami.

Ad.1. Czyli tworzymy Sesję PowerShella do zdalnej maszyny

Sesję tworzy się poniższą komendą:
$sesja = New-PSSession -ComputerName nazwa_serwera -Credential (Get-Credential)
Jak widać wymaganym parametrem jest podanie nazwy serwera, zaś po potwierdzeniu powyższej komendy klawiszem Enter system poprosi nas o wprowadzenie poświadczeń w kontekście których chcemy dokonać połączenia ze zdalną maszyną. 
Tak utworzone połączenie zostanie zapisane do zmiennej $sesja, którą potem wykorzystamy.

Sprawdzenie poprawności utworzonego połączenia

W gruncie rzeczy, jeżeli popełnimy jakiś błąd w tworzeniu sesji, to system nas o tym poinformuje. Dla pewności możemy jednak sprawdzić, czy sesja faktycznie została utworzona, a dokonamy tego poleceniem jak poniżej:
Get-PSSession

Ad. 2. No to kopiujemy

Do kopiowania plików używa się komendy Copy-Item, której przykładowe wywołanie może wyglądać jak poniżej:
Copy-Item -Path "C:\log_1*" -Destination "C:\skopiowane_logi\" -FromSession $sesja
Jak łatwo się domyślić, parametr -Path służy do podania ścieżki do pliku który chcemy skopiować ze zdalnego serwera.
Z kolei -Destination, to miejsce na naszej maszynie do którego pliki mają zostać skopiowane.

Do ostatniego parametru -FromSession podaliśmy zmienną $sesja, która zawiera wcześniej zestawione parametry połączenia.

Tak to wygląda w praktyce. Czy coś może pójść nie tak? Może, ale niewiele tego jest, więc nie będę się tutaj nad tym rozwodził. Jak ktoś napotka problem to proszę o komentarz. 

Brak komentarzy:

Prześlij komentarz

Bardzo proszę o zachowanie netykiety.