Get-USB – Использование классов ассоциаций WMI в PowerShell

В прошлый четверг мы провели первое собрание Клуба сценариев PowerShell в кампусе Microsoft. Клубы сценариев – это по-настоящему классная штука. Это что-то вроде лабораторного практикума без установленной темы и преподавателя . Вы придумываете идею сценария и просите у приятелей – пользователей PowerShell помочь вам его написать. Оставляйте комментарии, если хотите организовать местный клуб сценариев.

Один из вопросов, на который я помогал отвечать, включал использование класса ассоциации WMI, который является классом внутри WMI, связывающим вместе два других класса. Классы ассоциаций довольно распространены и становятся довольно полезны, как только вы научитесь обращаться с ним.

Одним из классов ассоциаций является Win32_USBControllerDevice. Ниже приведена небольшая функция, которая разрешает класс ассоциации и возвращает устройства USB полученные из WMI. Функция занимает одну строку, а встроенная справка – 8 строк.

Краткое описание:

Выдает устройства USB, подключенные к системе

Подробное описание:

Использует WMI для получения устройств USB, подключенных к системе

Примеры :

 -------------------------- EXAMPLE 1 --------------------------
USB    
-------------------------- EXAMPLE 2 --------------------------
USB | Group-Object Manufacturer

 

Вот текст функции Get-USB:

 function Get-USB {
           
    #.Synopsis
    #    Gets USB devices attached to the system
    #.Description
    #    Uses WMI to get the USB Devices attached to the system
    #.Example
    #    Get-USB
    #.Example
    #    Get-USB | Group-Object Manufacturer  
    Get-WmiObject Win32_USBControllerDevice | Foreach-Object { [Wmi]$_.Dependent }

}

Надеюсь, это вам пригодится,

Джеймс Брандейдж (James Brundage) [MSFT]

Перевод: Виктор Горбунков