3

我的部分工作例程涉及经常在设备管理器中启用/禁用网络适配器,这既乏味又耗时。我正在学习 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,如果有更好的选择,我愿意使用其他工具。

4

1 回答 1

3

尝试使用WMI

这将为您提供适配器列表:

Get-WmiObject -Class Win32_NetworkAdapter

您可以使用过滤器Name来隔离单个适配器并将对象分配给变量:

$adapter = Get-WmiObject -Class Win32_NetworkAdapter -filter "Name LIKE '%MyAdapterName%'"

然后,您应该能够在对象上调用disableenablereset等:

$adapter.disable()

祝你好运!

于 2015-07-28T23:47:31.730 回答