Получение объекта WMI с удаленного компьютера: Инвентаризация компьютеров с использованием PowerShell

Как я могу инвентаризировать удаленные компьютеры с использованием PowerShell? Ответ - с помощью Get-WmiObject на удаленном компьютере. В этом посте предоставляется полное руководство. Продолжайте чтение, если вас это интересует.

Tyler

By Tyler / Updated on March 4, 2025

Поделитесь этим: instagram reddit

Как подключиться к WMI удаленно?

Windows Management Instrumentation (WMI) - это встроенная в Windows инфраструктура управления для запроса данных управления и операций. Его можно использовать для запроса информации о выполнении процессов, установленном программном обеспечении, информации о BIOS и многом другом на локальных и удаленных компьютерах.

Команда Get-WmiObject получает экземпляры классов WMI или информацию о доступных классах WMI. Вы можете использовать параметр ComputerName для указания удаленного компьютера, чтобы подключиться к WMI удаленно.

Как использовать PowerShell Get-WmiObject на удаленном компьютере

Затем мы рассмотрим, как использовать PowerShell Get-WmiObject на удаленном компьютере для инвентаризации информации о компьютере.

Если указан параметр Query, команда выполняет язык запросов WMI (WQL). Если указан параметр List, команда получает информацию о доступных классах WMI в указанном пространстве имен. Параметр ComputerName используется для указания компьютеров. Рассмотрим несколько примеров.

Сначала давайте протестируем соединение с WMI на удаленном компьютере. Ниже приведен пример, позволяющий вам протестировать соединение с WMI на удаленном компьютере с именем PC1.

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

Тест WMI-соединения

Вы также можете перечислить список сетевых папок с удаленного компьютера, используя класс WMI Win32_Share в PowerShell. Здесь FT - это команда Format-Table, вы можете изменить ее на FL для отображения результатов в виде списка.

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

Список сетевых папок

Вы можете использовать синтаксис SQL-запросов для применения фильтра в классе Win32_Share. В следующем сценарии PowerShell фильтруются и перечисляются только сетевые папки для общего доступа (не скрытые папки), добавляя фильтр Type=0.

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

Сетевая общая папка

Дополнительные примеры

Пример 1: Получает службы на удаленном компьютере PC1:

  • Get-WmiObject -Class Win32_Service -ComputerName PC1

Вы также можете получить список служб на удаленном компьютере, используя Get-WmiObject remote computerCredential. В следующем примере используется параметр Credential. Значением параметра Credential является имя учетной записи пользователя. Пользователю будет предложено ввести пароль.

  • Get-WmiObjectWin32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam

Пример 2: Остановить службу на удаленном компьютере PC1:

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

Пример 3: Получить информацию о BIOS на удаленном компьютере PC1:

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

Примечание

Следует отметить, что команда Get-WmiObject была заменена на команду Get-CimInstance в PowerShell 3.0. Например, следующая команда отображает каждое запущенное имя процесса вместе с его временем работы ядра в порядке убывания:

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

Get WmiObject

AnyViewer: Графическое решение для удаленного рабочего стола в Windows

Если вы хотите более прямой способ получения данных об управлении и операциях компьютера, мы настоятельно рекомендуем использовать AnyViewer - бесплатную программу для удаленного рабочего стола, которая позволяет удаленно управлять компьютером с другого компьютера. Она предоставляет графический интерфейс пользователя для удаленного компьютера, который более прост и интуитивно понятен по сравнению с PowerShell.

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

Шаг 1. Скачайте, установите и запустите AnyViewer на обоих компьютерах.

Download AnyViewer

Шаг 2. Перейдите к Входу и затем нажмите Зарегистрироваться. (Если вы уже зарегистрировались на официальном сайте, вы можете сразу войти.)

Вход в AnyViewer

Шаг 3. Заполните информацию для регистрации.

Регистрация в AnyViewer

Шаг 4. Затем вы можете видеть, что вы успешно вошли в систему AnyViewer. Ваше устройство автоматически будет привязано к учетной записи, в которую вы вошли.

Бесплатные версии

Шаг 5. Войдите в ту же учетную запись AnyViewer на двух устройствах, затем нажмите кнопку Удаленное управление в один клик, чтобы осуществить наблюдение за устройством с удаленным доступом.

Подключение к моим устройствам

✍Примечание: Если вы улучшите свою учетную запись до Professional или Enterprise-плана, то у вас будут больше возможностей:

  • Вы сможете привязать больше устройств для осуществления наблюдения за устройством с удаленным доступом.
  • Отобразится больше устройств, которые сейчас соединены, что удобно для просмотра истории соединений в любое время.
  • Вы сможете подключиться к другому компьютеру в режиме конфиденциальности, что означает, что вы сможете затемнить экран и заблокировать мышь и клавиатуру удаленного компьютера, дополнительно защищая свою конфиденциальность.

Шаг 6. После того, как вы полностью контролируете удаленный компьютер, вы можете открыть любую программу и управлять ею так, как будто вы используете ее на самом деле.

Управление компьютером с AnyViewer

Итог

Этот пост предоставляет вам полное руководство по использованию PowerShell Get-WmiObject на удаленном компьютере для инвентаризации информации о компьютере. Если вы хотите более прямой и интуитивно понятный способ запроса данных управления компьютером и операций, вам рекомендуется использовать AnyViewer.