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]
Перевод: Виктор Горбунков