PowerShell 에서 정규 와 ValidateSet 을 사용 하여 매개 변수의 합 법성 을 검증 합 니 다.

PowerShell 2.0 또는 더 높 은 버 전에 적용
PowerShell 로 함 수 를 만 들 었 을 때 PowerShell 에 인자 가 원 하 는 값 을 알려 주 는 지 확인 하 십시오.예 를 들 어 사용자 가 요일 을 입력 하고 싶 습 니까?

function Get-Weekday
{
  param
  (
    $Weekday
  )
  
  "You chose $Weekday"
}
이 값 이 합 법 적 인 요일 이 아니 더 라 도 사용 자 는 모든 값 을 입력 할 수 있 습 니 다.예 를 들 어 일요일 입 니 다.

PS> Get-Weekday -Weekday NoWeekday
You chose NoWeekday
정규 표현 식 형식의 검증 방식 을 본 적 이 있 을 지도 모 릅 니 다.

function Get-Weekday
{
param
(
[ValidatePattern('Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday')]
$Weekday
)
 
"You chose $Weekday"
}
현재 사용자 가 입력 한 문자열 이 지정 한 패턴 과 일치 하지 않 을 때 Powershell 은 이상 한 정 보 를 던 집 니 다.그러나 이 이상 한 정 보 는 우호 적 이지 않 습 니 다.파 라 메 터 를 출력 할 때 콘 솔 이나 ISE 편집기 에서 도 스마트 알림 을 사용 할 수 없습니다.
그래서 더 좋 은 방법 은 Validate Set 을 사용 하 는 것 입 니 다.

function Get-Weekday
{
param
(
[ValidateSet('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')]
$Weekday
)
 
"You chose $Weekday"
}
현재 사용 자 는 파 라 메 터 를 출력 할 때 정 해진 값 집합 에 한정 되 어 있 으 며,ISE 에 서 는 사용자 가 허용 하 는 값 목록 을 스마트 하 게 알려 줍 니 다..NET 형식 에서 필요 한 인 자 를 설명 하 는 매개 변 수 를 찾 을 수 있다 면 손바닥 뒤 집 듯 이 쉬 울 것 입 니 다.

function Get-Weekday
{
param
(
[System.DayOfWeek]
$Weekday
)
 
"You chose $Weekday"
}

좋은 웹페이지 즐겨찾기