Редактирование диспетчера устройств с использованием powershell
Часть моей рабочей рутины включает частое включение / отключение сетевых адаптеров в диспетчере устройств, что утомительно и отнимает много времени. Я изучаю PowerShell и хочу написать простой скрипт, который автоматически включает / отключает сетевой адаптер.
Я пытаюсь использовать оснастку WASP, которая не кажется слишком сложной, но я не могу заставить ее работать.
Пока что у меня есть:
# Launch the Device Manager
$deviceManager = Show-ControlPanelItem -Name "Device Manager"
# Display all currently open windows. Device Manager should display as 'mmc'
Select-Window | ft -auto
# Select Device Manager as the active window
Select-Window mmc | Set-WindowActive
# Send input to device manager
Select-Window mmc | Send-Keys "{TAB}"
Select-Window mmc | Send-Keys "n"
Если клавиатурные вводы прочитаны правильно, сетевой адаптер должен быть выделен в диспетчере устройств. Вместо этого диспетчер устройств открыт и активен, но в противном случае ничего не происходит.
Что я делаю неправильно? Как правильно отправить ввод с клавиатуры с помощью WASP? WASP не требуется, я открыт для других инструментов, если доступен улучшенный вариант.
1 ответ
Попробуйте поработать с WMI
вместо:
Это даст вам список ваших адаптеров:
Get-WmiObject -Class Win32_NetworkAdapter
Вы можете использовать фильтр на Name
чтобы изолировать один адаптер и назначить объект переменной:
$adapter = Get-WmiObject -Class Win32_NetworkAdapter -filter "Name LIKE '%MyAdapterName%'"
Тогда вы сможете позвонить disable
, enable
, reset
и т. д. на объекте:
$adapter.disable()
Удачи!