Школа Geek: использование PowerShell для получения информации о компьютере

Оглавление:

Школа Geek: использование PowerShell для получения информации о компьютере
Школа Geek: использование PowerShell для получения информации о компьютере

Видео: Школа Geek: использование PowerShell для получения информации о компьютере

Видео: Школа Geek: использование PowerShell для получения информации о компьютере
Видео: СРОЧНО Включи ЭТО на своем Телефоне ANDROID!!! - YouTube 2024, Май
Anonim
WMI и его новый брат CIM могут использоваться как для управления машинами Windows в вашей среде. Но знаете ли вы разницу между ними? Присоединяйтесь к нам, когда мы посмотрим.
WMI и его новый брат CIM могут использоваться как для управления машинами Windows в вашей среде. Но знаете ли вы разницу между ними? Присоединяйтесь к нам, когда мы посмотрим.

Обязательно прочитайте предыдущие статьи в серии:

  • Узнайте, как автоматизировать Windows с помощью PowerShell
  • Обучение использованию командлетов в PowerShell
  • Обучение использованию объектов в PowerShell
  • Форматирование, фильтрация и сравнение обучения в PowerShell
  • Научитесь использовать Remoting в PowerShell

И оставайтесь настроенными для остальной части серии всю неделю.

Вступление

WMI - это инструментарий управления Windows. Слово «Instrumentation» относится к тому факту, что WMI позволяет вам получать информацию о внутреннем состоянии вашего компьютера, так же как инструменты приборной панели в вашем автомобиле могут извлекать и отображать информацию о состоянии внутренних компонентов ваших автомобилей.

WMI состоит из репозитория, который содержит классы, которые представляют собой компоненты, которые могут управляться внутри вашего устройства. Под этим мы подразумеваем только то, что WMI имеет класс Win32_Battery не означает, что на вашем компьютере есть батарея. Затем эти классы могут запрашиваться для информации локально или даже по сети, используя язык запросов, очень похожий на SQL под названием WQL. Однако WMI, как известно, очень ненадежна, в основном из-за того, что он основан на RPC (Remote Procedure Calls), которые делают некоторые сумасшедшие вещи с портами, на которые они хотят общаться.

Начиная с Windows 8 и Server 2012, WMI постепенно сокращается в пользу общей информационной модели или CIM. Единственная разница между WMI и CIM - это транспортные протоколы, которые они используют. В то время как WMI выполняет запросы, используя удаленные вызовы процедур, CIM использует HTTP, что, по-видимому, имеет огромное значение. На бэкэнде они все еще разговаривают с одним и тем же хранилищем информации.

Использование WMI

Самый быстрый и простой способ изучения информации, доступной вам через WMI, - это захватить копию любого бесплатного браузера объектов WMI. Нам это нравится. После загрузки запустите его, и у вас появится графический интерфейс для просмотра классов WMI.

Если вы хотите узнать что-то о конфигурации диска на компьютере, нажмите комбинацию клавиш Ctrl + F, чтобы открыть окно поиска, затем введите «логический диск» и нажмите «Ввод».
Если вы хотите узнать что-то о конфигурации диска на компьютере, нажмите комбинацию клавиш Ctrl + F, чтобы открыть окно поиска, затем введите «логический диск» и нажмите «Ввод».
Image
Image

В нижней части приложения вы можете видеть, что у нас есть два экземпляра класса.

Когда у нас есть класс, который мы ищем, запрос его из PowerShell выполняется прямо.
Когда у нас есть класс, который мы ищем, запрос его из PowerShell выполняется прямо.

Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

Я не видел этого синтаксиса какое-то время, когда люди предпочитают использовать новый параметризованный синтаксис.
Я не видел этого синтаксиса какое-то время, когда люди предпочитают использовать новый параметризованный синтаксис.

Get-WmiObject –Class Win32_LogicalDisk

Если вы хотите получить информацию с другого компьютера в своей сети, вы можете просто использовать параметр ComputerName.
Если вы хотите получить информацию с другого компьютера в своей сети, вы можете просто использовать параметр ComputerName.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator

Image
Image

Использование CIM

Помните, что CIM доступен только в Windows 8 и Server 2012, продвигаясь вперед, это определенно путь.

Get-CimInstance –ClassName Win32_LogicalDisk

Также есть вкладка для параметра -ClassName при использовании Get-CimInstance, которая показывает, что в будущем это будет сосредоточено на усилиях Microsoft.
Также есть вкладка для параметра -ClassName при использовании Get-CimInstance, которая показывает, что в будущем это будет сосредоточено на усилиях Microsoft.

Фактически, WMI был разработан полностью отдельной командой в Microsoft, но впоследствии был захвачен людьми, отвечающими за PowerShell. Это были те, кто заметил, что будет очень сложно очистить беспорядок WMI. В попытке исправить ситуацию они пытаются сделать WMI и CIM более доступными, написав командлеты wrapper, которые используют WMI и CIM под капотом. Единственный способ проверить, является ли командлет оболочкой, - это посмотреть на документацию. Например, командлет Get-Hotfix является оболочкой класса Win32_QuickFixEngineering, как видно из документации.

Это означает, что вы можете получить исправления на удаленных компьютерах с помощью командлета Get-HotFix вместо запроса WMI.
Это означает, что вы можете получить исправления на удаленных компьютерах с помощью командлета Get-HotFix вместо запроса WMI.

Get-HotFix –ComputerName localhost

Рекомендуемые: