Powershell if语句不工作

Powershell if语句不工作,powershell,Powershell,我不太熟悉脚本,目前我正在尝试使用脚本检查您连接的ssid。 如果它是安全的,它会显示你是安全的,如果你连接到一个开放的wifi,它会告诉你,你是不安全的 下面的脚本 function Test-WiFiSecured{ $props = netsh wlan show interfaces | Select-Object -skip 4 | Where{$_.Trim()} | ForEach-Object{ $_ -replace '

我不太熟悉脚本,目前我正在尝试使用脚本检查您连接的ssid。
如果它是安全的,它会显示你是安全的,如果你连接到一个开放的wifi,它会告诉你,你是不安全的

下面的脚本

function Test-WiFiSecured{
    $props = netsh wlan show interfaces | 
        Select-Object -skip 4 |
        Where{$_.Trim()} |
        ForEach-Object{ $_ -replace ':', '=' } |
        Out-String |
        ConvertFrom-StringData
    $wifi = [pscustomobject]$props
    Write-Host 'Authentication='$wifi.Authentication -ForeGround Green
    if($wifi.Profile -eq 'Open'){
        Write-Host 'Not secure' -ForeGround Red
    } else {
        Write-Host 'Secure connection' -ForeGround Green
        return $true
    }
}
Test-WiFiSecured  
谢谢你的帮助,因为我现在完全没有主意了


谢谢

您正在检查
$wifi.Profile-eq'Open'
但是
$wifi.Profile
是配置文件名,通常是您连接到的SSID。您可能需要比较
$wifi.Authentication
。但是,您可以通过输出
$wifi
对象轻松验证正确的属性

您正在检查
$wifi.Profile-eq'Open'
但是
$wifi.Profile
是配置文件名,通常是您连接到的SSID。您可能需要比较
$wifi.Authentication
。但是,您可以通过输出
$wifi
对象轻松验证正确的属性

你的错误是什么?到底什么不起作用?当身份验证打开时,它仍然会标记为安全,而它应该标记为不安全,您的错误是什么?到底是什么不起作用?当身份验证打开时,它仍然是安全的,虽然它应该标记为不安全问题时,解决了当改变$ WiF.Po.Eq'打开'到WiFi.Audio-EQ’OpenK'TaTARD如果你找到一个有用的答案,你应该考虑和/或解决问题时,改变$ WiFi.Prime- EQ '打开'到$WiFi.Audio- EQ ' Open' @ KurtAtARD,如果你找到一个有帮助的答案你应该考虑和/或