Powershell IF语句试图比较两个ip地址。

时间:2014-06-04 22:37:19

标签: powershell

您好我正在尝试比较两个IP地址。我希望脚本将新的IP地址评估为存储在.txt文件中的旧IP地址。但是当我尝试运行它时,该语句告诉我实际上两个ip地址为真时它是错误的。这是我的代码:

$a=(Invoke-WebRequest ifconfig.me/ip).Content
$b= Get-Content C:\ipadress.txt


if ($a -eq $b) 
{
Write-Host "The ip address has not changed"
}

else 
{
Write Host "The ip address has changed"
}

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

可能值得将它们都投射到[IPAddress]类型。此外,由于您获得了额外的空格,我会使用.Trim()进行清理。

if ([IPAddress]$a.Trim() -eq [IPAddress]$b.Trim())

最糟糕的情况是,这会给您一个有助于排除故障的错误。