如何使用PowerShell&amp ;;打开/关闭WiFi状态Windows 10?

时间:2017-04-19 04:14:48

标签: windows powershell

我有一个很小的.ps1脚本,用于切换以太网和WiFi之间的网络连接。我的脚本效果很好。我现在想知道如何在不禁用底层网络适配器的情况下关闭WiFi。

这是我现有的脚本:

$lanState = Get-NetAdapter -Name MyEthernetPort | where status -EQ 'up'

if ( $lanState )
{
    write-host 'Enabled... Disable now'
    Get-NetAdapter -Name MyEthernetPort | ? status -NE disabled | Disable-NetAdapter -Confirm:$false
    # TODO switch on wifi
    netsh wlan connect name=SM-GUEST
}
else
{
    Write-Host 'Disabled... Enable now'
    Get-NetAdapter -Name MyEthernetPort | ? status -EQ disabled | Enable-NetAdapter -Confirm:$false
    # TODO switch off wifi
    netsh wlan disconnect
}

我无法找到有关如何通过PowerShell关闭WiFi的任何指导(与单击Windows 10信息中心中的按钮时相同)。我发现的所有脚本都禁用了底层适配器,这不是我想要的。

有人可以建议如何从PowerShell访问此功能吗?

3 个答案:

答案 0 :(得分:2)

我找不到任何方式以编程方式执行此操作,因此我认为答案可能是(目前)并非完全可能。

我发现当您使用Windows操作中心的按钮关闭Wifi时,netsh将界面显示为“硬件开启”“软件关闭”:

Netsh WLAN show interfaces

There is 1 interface on the system:

    Name                   : WiFi
    State                  : disconnected
    Radio status           : Hardware On
                             Software Off

但是我看不到任何通过netsh或任何*-netadapter cmdlet触发“软件关闭”的功能。可能是这是通过注册表中的开关来控制的,但如果是这样,我就看不出哪个。

我的建议是通过使用Disable-NetAdapterEnable-NetAdapter启用/禁用底层适配器来继续控制wifi,或者是否需要保持硬件启用(可能是为了重新配置)它?)但是当你这样做时想要断开无线连接,你可以通过以下方式连接/断开网络:

netsh wlan disconnect
netsh wlan connect

答案 1 :(得分:0)

这些是在命令提示符下工作的命令

检查广播状态

powershell Get-NetAdapterAdvancedProperty -Name "Wi-Fi" -AllProperties -RegistryKeyword "radioEnable"

打开收音机(以管理员身份运行)

powershell Set-NetAdapterAdvancedProperty -Name "Wi-Fi" -AllProperties -RegistryKeyword "radioEnable" -RegistryValue "1"

关闭广播(以管理员身份运行)

powershell Set-NetAdapterAdvancedProperty -Name "Wi-Fi" -AllProperties -RegistryKeyword "radioEnable" -RegistryValue "0"

要在powershell中使用这些命令,只需从一开始就删除powershell

答案 2 :(得分:-3)

我只打开“计算机管理”,然后打开“设备管理器”,然后打开“网络适配器”,然后禁用“无线”,然后再次启用它。我的无线再次激活