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?
- 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.
- Właściwe kopiowanie plików z wykorzystaniem sesji utworzonej w pkt 1.
Ad.1. Czyli tworzymy Sesję PowerShella do zdalnej maszyny
Sesję tworzy się poniższą komendą:
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ą.
$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:
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.
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.