다음은 명령 줄 도구가 아닌 Microsoft의 프로그래밍 언어 인 PowerShell입니다. 이를 사용하면 시스템을 제어하고 자동화 할 수 있습니다. PowerShell은 대부분의 프로그래밍 언어와는 다른 구문을 사용합니다.
그러나 PowerShell 연산자 구문을 이해하면 사용하기 어렵지 않다는 것을 알 수 있습니다. PowerShell에서 사용하는 가장 일반적인 연산자 중 하나는 “Not Equal” 연산자 (-ne
)입니다. 이 연산자를 사용하면 두 값이 서로 다른지 테스트할 수 있습니다.
이 문서에서는 PowerShell Not Equal 연산자에 대해 알아보고 예제를 사용하는 방법을 배울 것입니다.
전제 조건
이 튜토리얼은 실습을 통한 데모로 진행됩니다. 따라오려면 PowerShell이 설치된 시스템이 있는지 확인하십시오. 이 튜토리얼은 Windows 10과 PowerShell 7을 사용합니다.
PowerShell Not Equal 연산자 사용 (기본)
간단히 말해서 PowerShell Not Equal 연산자 (-ne
)는 두 객체의 값이 서로 다른지 여부를 결정하고 결과에 따라 부울 값이 반환됩니다. 값이 서로 다르면 결과는 True
이고, 그렇지 않으면 결과는 False
입니다.
하지만 언제 어떻게 PowerShell Not Equal 연산자를 사용해야 할까요? 다음 섹션에서 PowerShell Not Equal의 기본을 가르칠 것입니다.
변수 비교
PowerShell의 Not Equal 연산자의 가장 일반적인 사용 중 하나는 두 변수를 비교하는 것입니다. 예를 들어, 두 변수 $a
와 $b
가 있고 이들이 동일한지 여부를 확인하려면 다음과 같은 비교 구문을 사용합니다.
$a와 $b
의 값이 동일하지 않으면 이 비교는 True
를 반환합니다. 그렇지 않으면 False를 반환합니다.
1. PowerShell 콘솔에서 다음 명령을 실행하여 예제로 사용할 변수를 생성합니다. $a, $b, $c 및 $d 변수는 서로 다른 값들을 나타냅니다. 각 값들을 비교하여 동일한지 여부를 테스트할 수 있습니다.
$c와 $d에 동일한 값을 할당하여 PowerShell Not Equal 연산자가 동일한 값과 어떻게 작동하는지 살펴봅니다.
2. 이제 PowerShell Not Equal 비교를 수행하여 $a와 $b의 값이 동일하지 않은지 확인합니다.
$a의 값이 1이고 $b의 값이 2이므로 결과는 True가 반환됩니다.

3. 이제 $c와 $d 변수를 비교하여 이들이 또한 동일하지 않은지 확인합니다.
$c와 $d의 값이 동일하므로 결과로 False가 반환됩니다(3=3).

값 비교
PowerShell을 사용할 때 비교하려는 객체가 모두 변수에 있는 것은 아닙니다. 이 경우 PowerShell Not Equal 연산자를 사용하여 값을 직접 비교할 수 있습니다.
예를 들어, 아래 명령은 PowerShell Not Equal 연산자를 사용하여 두 값을 직접 비교합니다.
값이 동일하지 않으므로 True 값이 반환됩니다.

반면에, 동일한 값 비교는 False
를 반환합니다.

배열에서 값 제거하기
PowerShell Not Equal 연산자는 두 값이 다르다는 것을 나타내는 부울 결과를 반환합니다. 이 연산자는 해당 기능 외에도 배열에서 항목을 걸러내는 데에도 사용될 수 있습니다.
예를 들어, 1부터 5까지의 숫자로 이루어진 배열을 포함하는 $numbers
라는 변수를 만듭니다.

다음으로, 아래 명령을 실행하여 숫자 4
를 제외한 배열을 반환합니다.
이제 명령이 숫자 4를 제외한 배열의 모든 숫자를 반환한 것을 확인할 수 있습니다.

문자열 비교
숫자 외에도 PowerShell Not Equal 비교를 문자열에 적용할 수 있습니다.
1. 예를 들어, “Hello”와 “World”라는 두 문자열이 있다고 가정해보세요. 두 문자열이 다른지 여부를 확인하려면 아래 명령을 실행하세요.
결과는 “Hello”가 “World”와 다르기 때문에 True입니다.

2. 이제 문자열 “Hello”와 “hello”를 비교하여 같은지 여부를 확인합니다.
그러면 “Hello”가 “hello”와 같지 않기 때문에 결과는 False입니다.

3. PowerShell Not Equal 연산자는 대소문자를 구분하지 않습니다. 이전 단계에서 확인할 수 있듯이, “Hello”는 “hello”와 같습니다. 그러나 문자열 값을 비교할 때 대소문자를 구분하려면 -ne 연산자를 -cne 연산자로 대체하면 됩니다. 이는 대소문자 구분하는 부등호를 의미합니다.
결과적으로, PowerShell에 따르면 “Hello”와 “hello”는 더 이상 같지 않습니다.

실제 환경에서 PowerShell Not Equal 연산자 사용하기 (예제)
PowerShell Not Equal 연산자의 기본 개념을 이해했으므로, 다음 섹션에서는 실제 환경에서의 사용 예를 살펴보실 수 있습니다.
서비스 상태 모니터링
A staple of Windows systems administration is monitoring the server service status. This task involves filtering out which services whose Status Is Not Running
.
예를 들어, Get-Service
cmdlet을 실행하여 로컬 컴퓨터의 모든 서비스를 표시합니다.
아래 출력에서 모든 중지된 서비스와 실행 중인 서비스를 확인할 수 있습니다.

이제, “Running”이 아닌 서비스만 필터링하려면 아래 명령을 실행하고 -ne
연산자를 다음과 같이 적용하십시오.
아래에서 확인할 수 있듯이, PowerShell Not Equal 비교를 적용한 후에는 상태 열에서 중지된 서비스만 표시됩니다.

마찬가지로, 아래 명령을 실행하여 Status Is Not Stopped
인 서비스를 반환합니다.
이번에는 실행 중인 서비스만 표시됩니다.

파워셸 Not Equal을 AND
연산자와 결합하기
1:1 비교 외에도, PowerShell Not Equal 조건을 다른 비교 연산자, 예를 들어 -eq
(equal),와 결합할 수 있습니다. 이를 위해 -and
연산자를 사용합니다. 이 방법은 비교하는 개체가 여러 조건을 충족해야 할 때 유용합니다.
예를 들어, 서버 서비스 모니터링은 일반적으로 모든 자동 서비스가 실행 중이어야 함을 확인하는 것을 포함합니다. 아래 명령을 실행하여 Status Is Not Running
및 StartType Is Automatic
인 서비스를 모두 나열합니다. 이 예에서 개체 값은 모든 조건과 일치해야 합니다.
이제 실행 중이 아닌 자동 서비스를 볼 수 있으며, 이를 통해 수행해야 할 작업을 결정하는 데 도움이 됩니다.

If/Else 조건 논리 추가
파워셸 Not Equal 연산자를 if/else 문과 같은 조건문 안에 사용할 수도 있습니다.
예를 들어, 대부분의 경우 StartType 값이 Automatic이면 서비스가 실행 중이어야 합니다. 아래 스크립트는 모든 서비스를 가져오고, 실행 중이 아닌 자동 서비스를 확인하고, 수정 작업을 실행합니다—메시지를 표시하고 서비스를 시작합니다.
참고: Start-Service $_.Name 줄은 주석 처리되어 있으며 실행되지 않습니다. 명령을 실행하려면 이 줄의 주석을 해제하세요.
아래 코드를 복사하여 PowerShell에서 실행하세요.
결과는 자동 서비스가 실행되지 않는 것을 보여줍니다.

결론
이 글에서는 PowerShell Not Equal 연산자에 대해 배웠습니다. 또한 예제와 함께 사용하는 방법을 배웠습니다. 이 시점에서는 그 작동 방식에 대해 좋은 이해를 가져야합니다.
이 새롭게 얻은 지식으로 PowerShell 스크립트에서 Not Equal 연산자를 사용하여 조건을 테스트 할 수 있습니다. 그러나 다른 비교 연산자도 사용할 수 있습니다. 여러 연산자를 결합하여 더 복잡한 조건을 테스트 할 수도 있습니다.