1

我们正在使用防火墙阻止端口的专用网络。

我们将提出为我们的机器 IP 地址打开端口的请求。

如果启用了 wi-fi,系统将有 2 个 IP 地址,如果我们的连接通过该 IP 地址路由,我们将无法访问专用网络内的机器。

我想知道powershell中是否有任何方法来确保状态(是否启用/禁用了wi-fi)。

4

3 回答 3

3

这一行列出了所有与无线或 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() }
于 2012-04-18T06:57:47.037 回答
1

如果您启动命令提示符,您可以通过以下方式获取有关 WLAN 的信息:

netsh wlan show networks

将输出重定向到FIND命令中,您应该一切顺利

netsh wlan show networks | FIND "turned off" /I /C

警告:我的窗口没有 en-* 本地化,所以我不确定“关闭”的事情,你可能想在没有FIND部件的情况下启动命令,以便查看它返回的消息并相应地调整(如果你启动netsh你自己会看到的命令)

于 2012-04-18T07:12:41.970 回答
0

或者,如果您需要知道 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"
}
于 2016-10-07T13:32:16.570 回答