Jak mogę inwentaryzować zdalne komputery za pomocą PowerShell? Odpowiedź brzmi: używając Get-WmiObject na zdalnym komputerze. Ten post dostarcza Ci pełny samouczek. Kontynuuj czytanie, jeśli jesteś zainteresowany.
Windows Management Instrumentation (WMI) to wbudowana w system Windows infrastruktura zarządzania, służąca do pobierania danych dotyczących zarządzania i operacji. Może być używana do pobierania informacji na temat uruchomionych procesów, zainstalowanego oprogramowania, informacji o BIOS-ie i wielu innych zarówno dla komputerów lokalnych, jak i zdalnych.
Polecenie Get-WmiObject pobiera instancje klas WMI lub informacje o dostępnych klasach WMI. Można użyć parametru ComputerName, aby określić komputer zdalny i nawiązać połączenie z WMI zdalnie.
Teraz zobaczymy, jak używać PowerShell Get-WmiObject zdalnie na komputerze w celu uzyskania informacji o komputerze.
Jeśli zostanie określony parametr Query, polecenie wykonuje zapytanie w języku WQL (Windows Query Language). Jeśli zostanie określony parametr List, polecenie pobiera informacje o klasach WMI dostępnych w określonym przestrzeni nazw. Parametr ComputerName służy do określenia komputerów zdalnych. Przejdźmy do kilku przykładów.
Najpierw przetestujmy połączenie WMI z komputerem zdalnym. Poniższy przykład pokazuje, jak przetestować połączenie WMI z komputerem zdalnym o nazwie PC1.
Możesz również wyświetlić listę udziałów sieciowych z komputera zdalnego za pomocą klasy WMI Win32_Share. Tutaj, FT to nic innego jak polecenie Format-Table, które możesz zmienić na FL, aby wyświetlać wynik w widoku listy.
Możesz również używać składni zapytania SQL, aby zastosować filtr w klasie Win32_Share. Poniższy skrypt w PowerShellu filtruje i wyświetla tylko foldery udziałów sieciowych (bez ukrytych udziałów), dodając filtr Type=0.
Więcej przykładów
Przykład 1: Pobiera usługi na zdalnym komputerze PC1:
Możesz również uzyskać informacje o usługach na komputerze zdalnym przy użyciu Get-WmiObject -ComputerName zdalny komputerUprawnienia. Poniższy przykład wykorzystuje parametr Credential. Wartość parametru Credential to nazwa konta użytkownika. Użytkownik zostanie poproszony o podanie hasła.
Przykład 2: Zatrzymaj usługę na zdalnym komputerze PC1:
Przykład 3: Uzyskaj informacje o BIOS na zdalnym komputerze PC1:
Uwaga
Chcielibyśmy zwrócić uwagę, że polecenie Get-WmiObject cmdlet zostało zastąpione przez Get-CimInstance w PowerShell 3.0. Na przykład, polecenie poniżej wyświetla nazwę każdego działającego procesu wraz z jego czasem rdzenia, od największego do najmniejszego:
Jeśli chcesz uzyskać bardziej bezpośredni sposób na przetwarzanie danych dotyczących zarządzania i operacji na komputerze, zdecydowanie polecamy AnyViewer, bezpłatny program do zdalnego pulpitu, który umożliwia zdalne sterowanie komputerem z innego. Oferuje on graficzny interfejs użytkownika do zdalnego komputera, co jest bardziej bezpośrednie i intuicyjne w porównaniu do PowerShell.
Krok 1. Pobierz, zainstaluj i uruchom AnyViewer na obu komputerach.
Krok 2. Przejdź do Zaloguj, a następnie kliknij Zarejestruj się. (Jeśli już zarejestrowałeś się na oficjalnej stronie, możesz się zalogować bezpośrednio.)
Krok 3. Wypełnij informacje do rejestracji.
Krok 4. Następnie zobaczysz, że udało ci się zalogować do AnyViewer. Twoje urządzenie zostanie automatycznie przypisane do konta, na które się zalogowałeś.
Krok 5. Zaloguj się na dwa urządzenia na to samo konto AnyViewer, a następnie kliknij przycisk Szybki dostęp aby uzyskać bezobsługowy dostęp zdalny.
✍Uwaga: Jeśli ulepszysz swoje konto do planu Professional lub Enterprise, uzyskasz większe uprawnienia:
Krok 6. Gdy masz pełną kontrolę nad zdalnym komputerem, możesz otworzyć dowolny program i zarządzać nim tak, jakbyś go faktycznie używał.
Ten post dostarcza pełny samouczek na temat tego, jak używać PowerShell Get-WmiObject na zdalnym komputerze do tworzenia inwentarza informacji o komputerze. Jeśli chcesz bardziej bezpośredniego i intuicyjnego sposobu na wyszukiwanie danych dotyczących zarządzania i operacji komputerowych, zaleca się używanie AnyViewer.