Hi all,
I am not so much familiar with scripting, currently Im trying a script to check the ssid that you are connected to. If it is secured it will display you are secure and if you are connected to an open wifi it will tell you that you are not secure.I had uploaded both script…When I connect with secure SSID the part of IF Statement “you are secure” is working, but when I connect to open wifi it is still stating that “you are secure”, where in it should state “You are not Secure”.
Another issue that is being noted is that if Invoke-expressions is not used, the script will not call test1.0.
Such feedback is appreciated.
Thanks
$interface_name_text = “Interface name”;
$ssid_text = “SSID”;
$network_type_text = “Network type”;
$Authentication_text = “Authentication”;
$encryption_text = “Encryption”;
$bssid_text = “BSSID”;
$signal_text = “Signal”;
$radio_type_text = “Radio type”;
$channel_text = “Channel”;
$basic_rates_text = “Basic rates”;
$other_rates_text = “Other rates”;
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
function getValueByName ( $inputText, $nameString ) {
$value = “”;
if ([regex]::IsMatch($inputText,“\b$nameString\b”,“IgnoreCase”)) {
$value = ([regex]::Replace($inputText,“[1]*: “,””));
}
return $value.Trim();
}
if ([int](gwmi win32_operatingsystem).Version.Split(“.”)[0] -lt 6) {
throw “This script works on Windows Vista or higher.”;
}
if ((gsv “wlansvc”).Status -ne “Running” ) {
throw “WLAN AutoConfig must be running.”;
}
$activeNetworks = @();
$rowNumber = -1;
$interfaceName = “”;
netsh wlan show network mode=bssid | % {
$ifName = getValueByName $_ $interface_name_text;
if ($ifName.Length -gt 0) {
$interfaceName = $ifname;
return;
}
$ssid = getValueByName $_ $ssid_text;
if ($ssid.Length -gt 0) {
$row = New-Object PSObject -Property @{
InterfaceName = $interfaceName;
SSID=$ssid
NetworkType=""
Authentication=""
Encryption=""
BSSID=""
Signal=""
Channel=""
RadioType=""
BasicRates=""
OtherRates=""
}
$rowNumber+=1;
$ActiveNetworks += $row;
return;
}
$bssid = getValueByName $_ $bssid_text;
if ($bssid.Length -gt 0) {
$ActiveNetworks[$rowNumber].BSSID = $bssid;
return;
}
$network_type = getValueByName $_ $network_type_text;
if ($network_type.Length -gt 0) {
$ActiveNetworks[$rowNumber].NetworkType = $network_type;
return;
}
$Authentication = getValueByName $_ $authentication_text;
if ($Authentication.Length -gt 0) {
$ActiveNetworks[$rowNumber].Authentication = $Authentication;
return;
}
$Encryption = getValueByName $_ $encryption_text;
if ($Encryption.Length -gt 0) {
$ActiveNetworks[$rowNumber].Encryption = $Encryption;
return;
}
$Signal = getValueByName $_ $signal_text;
if ($Signal.Length -gt 0) {
$prc = [regex]::Replace($Signal,"[%]","");
$result = 0;
[int]::TryParse($prc,[ref]$result) | Out-Null;
$ActiveNetworks[$rowNumber].Signal = $result;
return;
}
$Channel = getValueByName $_ $channel_text;
if ($Channel.Length -gt 0) {
$result = 0;
[int]::TryParse($Channel,[ref]$result) | Out-Null;
$ActiveNetworks[$rowNumber].Channel = $result;
return;
}
$RadioType = getValueByName $_ $radio_type_text;
if ($RadioType.Length -gt 0) {
$ActiveNetworks[$rowNumber].RadioType = $RadioType;
return;
}
$BasicRates = getValueByName $_ $basic_rates_text;
if ($BasicRates.Length -gt 0) {
$ActiveNetworks[$rowNumber].BasicRates = $BasicRates;
return;
}
$OtherRates = getValueByName $_ $other_rates_text;
if ($OtherRates.Length -gt 0) {
$ActiveNetworks[$rowNumber].OtherRates = $OtherRates;
return;
}
};
if ($ActiveNetworks.Count -gt 0) {
return $activeNetworks | Select-Object BSSID,
Channel,
Signal,
Encryption,
Authentication,
SSID,
RadioType,
InterfaceName | Sort-Object Signal -Descending
} else {
Write-Warning “`n No active networks.`n”;
}
#}
Script test1.1 $openwifi = Invoke-expression 'C:\Users\profile\Desktop\test1.0.ps1' |Where-Object { $_.Authentication -eq "Open" } | Select-Object -ExpandProperty SSID $connection= netsh wlan show interfaces | select-string '\sSSID' ForEach($wifi in $openwifi){ if($connection -eq $wifi){Write-host "YOU Are not secure"} Else {Write-Host "you are secure"} }
-
^: ↩︎