【问题标题】:Editing device manager using powershell使用 powershell 编辑设备管理器
【发布时间】:2015-07-28 23:19:54
【问题描述】:

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

【问题讨论】:

    标签: powershell device-manager wasp


    【解决方案1】:

    尝试改用WMI

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

    Get-WmiObject -Class Win32_NetworkAdapter
    

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

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

    那么,你应该可以在对象上调用disableenablereset等:

    $adapter.disable()
    

    祝你好运!

    【讨论】:

    • 谢谢!我在让第二行工作时遇到了一点麻烦,在研究它时,我遇到了一个可以完成这项工作的简单 cmdlet:Disable-NetAdapter -Name 'NIC Name'(需要管理员权限)WMI 似乎更强大,所以我可能会使用它而是
    猜你喜欢
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多