W dzisiejszej lekcji z naszej serii Geek School poświęconej SysInternals, pokażemy, jak używać zestawu narzędziowego PsTools do wykonywania wszelkiego rodzaju zadań administracyjnych zarówno lokalnie, jak i na komputerach zdalnych.
NAWIGACJA SZKOLNAJeśli kiedykolwiek chciałeś połączyć się z innym komputerem i uruchomić polecenie, szybko uzyskać informacje o uruchomionych procesach i opcjonalnie je zabić, lub nawet zatrzymać usługę na innym komputerze, możesz użyć narzędzi PsTools, aby wykonać wszystkie te czynności, a nawet więcej.
Oczywiście można użyć Pulpitu zdalnego lub podobnej usługi do połączenia z dowolnym komputerem z systemem Windows i rzeczywiście zobaczyć pulpit i zrobić wszystko, co można zrobić lokalnie, ale narzędzia PsTools pozwalają wykonywać wiele zadań z wiersza poleceń - lub jeszcze lepiej, z skrypt, który możesz później ponownie wykorzystać.
Są to narzędzia, które najlepiej sprawdzają się w środowisku korporacyjnym, a opanowanie tych narzędzi zdecydowanie poprawi pracę administracyjną systemu, zaoszczędzi czas i pozwoli działać w znacznie inteligentniejszy sposób. Robienie rzeczy mądrzej i szybciej jest kluczową umiejętnością bycia świetnym sysadminem.
W zestawie PsTools znajduje się dwanaście narzędzi, a niektóre z nich są niezwykle użyteczne, inne zostały zastąpione narzędziami wbudowanymi w nowsze wersje systemu Windows, a jest kilka innych, które nie są przydatne dla większości ludzi. Przejdziemy przez wszystkie z nich, abyście mogli zrozumieć, jak działają i dlaczego warto ich użyć.
Warto zauważyć, że można użyć narzędzia takiego jak PsExec do wykonywania wszelkiego rodzaju narzędzi wiersza poleceń na komputerach zdalnych ... w tym naprawdę użytecznych, takich jak narzędzie wiersza poleceń Autoruns i wiele innych. Możliwości są nieskończone, gdy już opanujesz moc PsTools.
Wszystkie te narzędzia mogą być używane na komputerach lokalnych, ale są one najczęściej przydatne do łączenia się ze zdalnymi komputerami i wykonywania na nich poleceń.
Wszystkie narzędzia można uruchamiać na komputerze lokalnym lub zdalnym, więc w razie potrzeby wszystkie mają ten sam pierwszy argument dla nazwy komputera. Zauważ, że możesz użyć adresu IP, jeśli chcesz. Jeśli ten argument zostanie pominięty, polecenie będzie działać na komputerze lokalnym.
psinfo \ nazwa_komputera
Możesz również wymienić wiele komputerów, takich jak psinfo \ computer1, computer2, computer3, lub możesz umieścić wszystkie nazwy w pliku i odwoływać się do nich jak psinfo @ computerlist.txt. Ostateczna składnia to psinfo \ *, które działa na wszystkich komputerach w domenie, co prawdopodobnie nie jest czymś, z czego będziesz korzystać każdego dnia.
Jeśli chcesz połączyć się z alternatywnymi danymi uwierzytelniającymi, ponieważ konto twojego komputera lokalnego ma inną nazwę użytkownika i hasło niż inny komputer, możesz użyć opcji -u i -p, ale chcielibyśmy zauważyć, że nie chcesz używać opcji -p na wiersz polecenia z hasłem w poleceniu ze względów bezpieczeństwa.Aktualizacja: od najnowszej wersji PsExec żadne narzędzie nie przekazuje haseł jako zwykłego tekstu, więc jedyną obawą jest to, że ktoś może odczytać twoje pliki skryptowe i zobaczyć tam hasło.
psinfo \ computername -u "user" -p "Hasło"
Część "użytkownika" polecenia zmieni się na "DOMAIN \ user", jeśli znajdujesz się w środowisku domeny i musisz zmienić bieżącego użytkownika.
Uwaga:zazwyczaj będziesz musiał łączyć się ze zdalnymi komputerami za pomocą konta administratora.
Jeśli jesteś w środowisku domeny, w którym większość ludzi będzie potrzebować PsTools, możesz całkowicie zignorować tę sekcję, ponieważ wszystko powinno działać dobrze. Dla każdego, kto pracuje w systemie Windows 7, 8 lub Vista w środowisku domowym lub przy użyciu kilku komputerów w biurze bez domeny, konieczne będzie zmodyfikowanie Kontroli konta użytkownika na komputerze zdalnym, aby umożliwić prawidłowe działanie aplikacji PsTools.
Problem jest dobrze opisany przez Microsoft:
Gdy użytkownik, który jest członkiem lokalnej grupy administratorów na docelowym komputerze zdalnym, ustanawia zdalne połączenie administracyjne za pomocą polecenia net use * \ remotecomputer \ Share $, na przykład nie nawiąże połączenia jako pełnoprawny administrator. Użytkownik nie ma potencjału elewacji na komputerze zdalnym, a użytkownik nie może wykonywać zadań administracyjnych.
Aby wyjaśnić to w inny sposób, próbując połączyć się z innym komputerem i uruchomić coś, co wymaga dostępu administratora, nie ma możliwości wyzwolenia monitu UAC i zaakceptowania go z komputera, więc nie połączy się on jako administrator.
I nie jest to złe. Nie należy zmieniać tego ustawienia bez pełnego zrozumienia, że zezwolisz na otwarcie się szkodliwego oprogramowania z jednego komputera na drugi - zakładając, że złośliwe oprogramowanie ma lokalną nazwę użytkownika i hasło, a to hasło jest takie samo jak na innym komputerze, a Złośliwe oprogramowanie jest trudne, a większość nie. Ale nadal nie należy lekceważyć.
I znowu, jeśli jesteś w środowisku domeny, ten problem nie istnieje i nie trzeba go zmieniać. A jeśli testujesz tylko przy użyciu wirtualnych maszyn, nie musisz się o nic martwić.
Aby zmodyfikować UAC, aby włączyć PsTools, należy otworzyć Edytor rejestru i przejść do następującego klucza:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \
Windows \ CurrentVersion \ Policies \ System
Gdy już tam będziesz, utwórz nowy 32-bitowy DWORD po prawej stronie, nadaj mu nazwę LocalAccountTokenFilterPolicy i wartość 1. Nie musisz ponownie uruchamiać komputera, aby ustawienie zaczęło obowiązywać.
Uwaga:aby wyjaśnić, to ustawienie musi się odbywać na komputerze zdalnym, z którym się łączysz.
PsExec jest prawdopodobnie najpotężniejszym narzędziem w zestawie, ponieważ możesz wykonać dowolne polecenie w lokalnym wierszu poleceń, tak jak w przypadku wykonywania go na komputerze zdalnym. Obejmuje to wszystko, co można uruchomić w wierszu poleceń - możesz zmieniać wartości rejestru, uruchamiać skrypty i narzędzia lub łączyć się z tego komputera na inny. Dane wyjściowe poleceń będą wyświetlane na lokalnym komputerze, a nie na zdalnym.
Składnia jest prosta:
psexec \ computername apptorun.exe
Realistycznie, jednak, należy również podać nazwę użytkownika i hasło w linii poleceń. Na przykład, aby połączyć się z innym komputerem i sprawdzić listę połączeń sieciowych, można użyć czegoś takiego:
psexec \ computername -u Użytkownik -p Hasło ipconfig
Polecenie to wytworzy wynik podobny do następującego:
Następna strona: Używanie PsExec do uruchamiania poleceń zdalnych