Редактирование диспетчера устройств с использованием 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()

Удачи!

Другие вопросы по тегам