2
만약 내가 뭔가를 놓치고 뭔가 바보 같은지 놓치고 있는지 모르겠지만 아래 스크립트는 두 문자열을 비교하고 그들이 같거나 또는 그렇지 않은 것으로 가정합니다.-ne Powershell에서 작동하지 않습니다.
if ($Previous_WAN_IP -ne $Current_WAN_IP) {
if ($Previous_WAN_IP -eq "") {write-host "External IP Script is Ready";Exit}
if ((@([Byte[]][char[]]$Current_WAN_IP -eq 46).Count)-ne 3) {write-host "No Valid IP Address Retrieved";Exit}
Write-Host "IP Address Has Changed, Sending e-mail"
$MessageBody = "External IP Address Has Changed"
.\Scripts\SecureEmailScript.ps1
}
은 내가 -ne
을 포함하는 if 문에 중단 점을 뒀다. 비교되는 값은 모두 동일하며 유형은 System.String
입니다. 비록 값이 같더라도 문제는 여전히 if 문을 입력합니다. 값을 같지 않게 만들면 같은 결과가됩니다. 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
내 첫 번째 의심은 둘 중 하나의 뒤에 공백이 있습니다. – EBGreen
당신이 정확합니다! 나가 이것을 게시 한 후에 나는 끈의 길이에 가고 보았다 ... 1 개는 14이고 다른 사람은 13이다. 그래서 나는 그들 둘 다에.trim를 추가했다. 그리고 지금 하나는 13이고 다른 하나는 12ha이다. 적어도 나는 그 문제를 안다. –
JLott
@EBGreen 처음부터 생각하지 않은 것에 대해 꽤 바보 같다고 느껴지더라도 잘 작동합니다. 하하가 도와 줘서 고마워. 답변을 작성하고 Trim() 프로세스를 설명하려면 답변으로 표시하게되어 기쁩니다. – JLott