Get-WmiObject Remote Computer: Inwentaryzacja Komputerów Za Pomocą PowerShell

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.

Tyler

By Tyler / Updated on March 4, 2025

Share this: instagram reddit

Jak nawiązać zdalne połączenie z WMI?

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.

Jak używać PowerShell Get-WmiObject zdalnie na komputerze

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.

  • Get-WmiObject -query "SELECT * FROM Win32_OperatingSystem" -ComputerName PC1

Testowanie połączenia WMI

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.

  • Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share" | FL

Lista udziałów sieciowych

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.

  • Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share Where Type=0" | FT

Folder udziałów sieciowych

Więcej przykładów

Przykład 1: Pobiera usługi na zdalnym komputerze PC1:

  • Get-WmiObject -Class Win32_Service -ComputerName 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.

  • Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam

Przykład 2: Zatrzymaj usługę na zdalnym komputerze PC1:

  • (Get-WmiObject -Class Win32_Service -Filter "name="WinRM"' -ComputerName PC1).StopService()

Przykład 3: Uzyskaj informacje o BIOS na zdalnym komputerze PC1:

  • Get-WmiObject -Class Win32_Bios -ComputerName PC1| Format-List -Property *

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:

  • Get-CimInstance -Class Win32_Process -ComputerName DC1 | Select-Object -Property Name,KernelModeTime | Sort-Object KernelModeTime -Descending

Get WmiObject

AnyViewer: Rozwiązanie zdalnego pulpitu z interfejsem graficznym dla systemu Windows

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.

Скачать БесплатноWin 11/10/8.1/8/7
Безопасный скачивание

Krok 1. Pobierz, zainstaluj i uruchom AnyViewer na obu komputerach.

Download AnyViewer

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.)

Zaloguj się do AnyViewer

Krok 3. Wypełnij informacje do rejestracji.

Zarejestruj się w AnyViewer

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ś.

Wersje darmowe

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.

Połącz z Moimi Urządzeniami

✍Uwaga: Jeśli ulepszysz swoje konto do planu Professional lub Enterprise, uzyskasz większe uprawnienia:

  • Możesz przypisać więcej urządzeń, aby uzyskać bezobsługowy dostęp zdalny.
  • Będą wyświetlane więcej aktualnie połączonych urządzeń, co ułatwia przeglądanie historii połączeń w dowolnym momencie.
  • Możesz połączyć się z innym komputerem w trybie prywatności, co oznacza, że możesz zaciemnić ekran oraz zablokować mysz i klawiaturę zdalnego komputera, dalsze zabezpieczając Twoją prywatność.

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ł.

Zarządzanie Komputerem AnyViewer

Podsumowanie

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.