Проверяем инстанс правила фаервола для ip:
PS C:\Users\Administrator> Get-NetFirewallAddressFilter | where RemoteAddress -eq 10.15.0.71 | select InstanceID
InstanceID
----------
{48F93E73-0AE8-476E-ADA3-86AC90361AFF}
Тоже самое но для порта:
PS C:\Users\Administrator> Get-NetFirewallPortFilter | where RemotePort -eq 12440-12499 | select InstanceID
InstanceID
----------
{48F93E73-0AE8-476E-ADA3-86AC90361AFF}
Это одно и тоже правило, поэтому InstanceID совпадает.
Теперь загоняю все это в переменные и проверяю что у меня в переменных:
PS C:\Users\Administrator> $IP=Get-NetFirewallAddressFilter | where RemoteAddress -eq 10.15.0.71 | select InstanceID
PS C:\Users\Administrator> $Port=Get-NetFirewallPortFilter | where RemotePort -eq 12440-12499 | select InstanceID
PS C:\Users\Administrator> $IP
InstanceID
----------
{48F93E73-0AE8-476E-ADA3-86AC90361AFF}
PS C:\Users\Administrator> $Port
InstanceID
----------
{48F93E73-0AE8-476E-ADA3-86AC90361AFF}
Вроде все совпадает.
Теперь использую if:
PS C:\Users\Administrator> if ($IP -eq $Port) {
>> Write-Host "Совпадает"
>> }
>> else{
>> Write-Host "Не совпадает"
>> }
>>
Не совпадает
Почему "Не совпадает"?