我们正在使用防火墙阻止端口的专用网络。
我们将提出为我们的机器 IP 地址打开端口的请求。
如果启用了 wi-fi,系统将有 2 个 IP 地址,如果我们的连接通过该 IP 地址路由,我们将无法访问专用网络内的机器。
我想知道powershell中是否有任何方法来确保状态(是否启用/禁用了wi-fi)。
我们正在使用防火墙阻止端口的专用网络。
我们将提出为我们的机器 IP 地址打开端口的请求。
如果启用了 wi-fi,系统将有 2 个 IP 地址,如果我们的连接通过该 IP 地址路由,我们将无法访问专用网络内的机器。
我想知道powershell中是否有任何方法来确保状态(是否启用/禁用了wi-fi)。
这一行列出了所有与无线或 wifi 匹配且已启用的网络适配器。
get-wmiobject -class win32_networkadapter -namespace root\CIMV2 | where-object {$_.Name -match "Wifi" -or $_.Name -match "wireless" -and $_.name -notmatch "Microsoft Virtual WiFi Miniport Adapter" -and $_.netenabled -eq $true} | select description, netenabled
这用于禁用:
get-wmiobject -class win32_networkadapter -namespace root\CIMV2 | where-object {$_.Name -match "Wifi" -or $_.Name -match "wireless" -and $_.name -notmatch "Microsoft Virtual WiFi Miniport Adapter" -and $_.netenabled -eq $true } | % { $_.disable() }
这用于启用:
get-wmiobject -class win32_networkadapter -namespace root\CIMV2 | where-object {$_.Name -match "Wifi" -or $_.Name -match "wireless" -and $_.name -notmatch "Microsoft Virtual WiFi Miniport Adapter" -and $_.netenabled -eq $false } | % { $_.enable() }
如果您启动命令提示符,您可以通过以下方式获取有关 WLAN 的信息:
netsh wlan show networks
将输出重定向到FIND
命令中,您应该一切顺利
netsh wlan show networks | FIND "turned off" /I /C
警告:我的窗口没有 en-* 本地化,所以我不确定“关闭”的事情,你可能想在没有FIND
部件的情况下启动命令,以便查看它返回的消息并相应地调整(如果你启动netsh
你自己会看到的命令)
或者,如果您需要知道 wifi 是否从多台远程计算机连接,您可以将它们列在一个文件中(在本例中是computers.txt)并运行以下脚本
$computers = Get-Content %PATH%\Computers.txt
$credentials = Get-Credential -Credential domain\username
ForEach ($computer in $computers)
{
Write-Host "Computer Name: $computer"
Invoke-Command -ComputerName $computer -Credential $credentials -ScriptBlock {netsh wlan show interfaces} | select-string "State"
}