NPS에서 정규식 사용

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016

이 항목에서는 Windows Server의 NPS에서 패턴 일치를 위해 정규식을 사용하는 것에 대해 설명합니다. 이 구문을 사용하여 네트워크 정책 특성 및 RADIUS 영역의 조건을 지정할 수 있습니다.

참고 항목

NPS 콘솔 및 NPS MMC 스냅인에는 문자열 값을 사용하는 모든 설정에 대해 256자 제한이 있습니다. 여기에는 정규식을 사용하여 구성할 수 있는 모든 설정이 포함됩니다. 256자를 초과하는 문자열 값을 구성하려면 NETSH NPS 명령을 사용합니다. 256자를 초과하는 구성된 문자열 값은 무효화하지 않고 NPS 콘솔 또는 NPS MMC 스냅인에서 편집할 수 없습니다.

패턴 일치 참조

패턴 일치 구문을 사용하여 정규식을 만들 때 다음 표를 참조 원본으로 사용할 수 있습니다. 정규식 패턴은 종종 슬래시(/)로 묶입니다.

문자 설명 예시
\ 뒤에 있는 문자가 특수 문자이거나 문자 그대로 해석되어야 했음을 나타냅니다. /n/ matches the character "n" while the sequence /\n/ matches a line feed or newline character.
^ 입력 또는 줄의 시작 부분과 일치합니다.  
$ 입력 또는 줄의 끝과 일치합니다.  
* 이전 문자 0번 이상 일치합니다. /zo*/ matches either "z" or "zoo."
+ 앞의 문자를 한 번 이상 일치합니다. /zo+/ matches "zoo" but not "z."
? 앞의 문자를 0번 또는 한 번 일치합니다. /a?ve?/ matches the "ve" in "never."
. 줄선 문자를 제외한 모든 단일 문자와 일치합니다.  
(pattern) "패턴"과 일치하고 일치 항목을 기억합니다.
리터럴 문자 ( 및 (괄호)와 ) 일치하려면 사용 \( 하거나 \).
 
x | y x 또는 y와 일치합니다.
{n} 정확히 n번 일치합니다(n은 음수가 아닌 정수임). /o{2}/ does not match the "o" in "Bob," but matches the first two instances of the letter o in "foooood."
{n,} N번 이상 일치합니다(n은 음수가 아닌 정수임). /o{2,}/ does not match the "o" in "Bob" but matches all of the instances of the letter o in "foooood." /o{1,}/ is equivalent to /o+/.
{n,m} n 이상과 m번 일치합니다(m과 n은 음수가 아닌 정수임). /o{1,3}/ matches the first three instances of the letter o in "fooooood."
[xyz] 묶은 문자(문자 집합) 중 하나와 일치합니다. /[abc]/ matches the "a" in "plain."
[^xyz] 묶지 않은 문자(음수 문자 집합)와 일치합니다. /[^abc]/ matches the "p" in "plain."
\b 단어 경계(예: 공백)와 일치합니다. /ea*r\b/ matches the "er" in "never early."
\B 비워드 경계와 일치합니다. /ea*r\B/ matches the "ear" in "never early."
\d 숫자 문자(0에서 9까지의 숫자와 동일)를 찾습니다.  
\D 비디지트 문자(해당)와 일치합니다 [^0-9].  
\f 양식 피드 문자와 일치합니다.  
\n 줄 바꿈 문자와 일치합니다.  
\r 캐리지 리턴 문자를 찾습니다.  
\s 공백, 탭 및 양식 피드(해당)를 비롯한 공백 문자를 찾습니다 [ \f\n\r\t\v].  
\S 공백이 아닌 문자를 찾습니다(해당 [^ \f\n\r\t\v]).  
\t 탭 문자와 일치합니다.  
\v 세로 탭 문자와 일치합니다.  
\w 밑줄(해당)을 비롯한 모든 단어 문자를 찾습니다 [A-Za-z0-9_].  
\W 밑줄(밑줄과 동일)을 제외한 단어가 아닌 문자를 찾습니다 [^A-Za-z0-9_].  
\num 기억된 일치 항목을 나타냅니다(?numnum이 양의 정수인 경우). 이 옵션은 특성 조작을 구성할 때 텍스트 바꾸기 텍스트 상자에서만 사용할 수 있습니다. \1 는 기억되는 첫 번째 일치 항목에 저장된 항목을 바꿉니다.
/n/ 정규식에 ASCII 코드를 삽입할 수 있습니다(?n여기서 n은 8진수, 16진수 또는 10진수 이스케이프 값임).  

네트워크 정책 특성의 예

다음 예제에서는 패턴 일치 구문을 사용하여 네트워크 정책 특성을 지정하는 방법을 설명합니다.

  • 899 지역 코드 내의 모든 전화 번호를 지정하기 위해 구문은 다음과 같습니다.

    899.*

  • 192.168.1로 시작하는 IP 주소 범위를 지정하려면 다음 구문을 사용합니다.

    192\.168\.1\..+

사용자 이름 특성에서 영역 이름을 조작하는 예제

참고 항목

영역 조작은 PEAP에서 작동하지 않습니다.
원하는 동작은 인증을 위해 EAP-TLS 또는 EAP-MSCHAPv2로 전환하거나 해결해야 하는 각 추가 do기본 이름에 대해 할 일기본 UPN 접미사를 추가하여 수행할 수 있습니다.

다음 예제에서는 패턴 일치 구문을 사용하여 연결 요청 정책의 속성에 있는 특성 탭에 있는 사용자 이름 특성의 영역 이름을 조작하는 방법을 설명합니다.

사용자 이름 특성의 영역 부분을 제거하려면

ISP(인터넷 서비스 공급자)가 연결 요청을 조직 NPS로 라우팅하는 아웃소싱 전화 접속 시나리오에서 ISP RADIUS 프록시는 인증 요청을 라우팅하기 위해 영역 이름이 필요할 수 있습니다. 그러나 NPS는 사용자 이름의 영역 이름 부분을 인식하지 못할 수 있습니다. 따라서 조직 NPS로 전달되기 전에 ISP RADIUS 프록시에서 영역 이름을 제거해야 합니다.

  • 찾을: @microsoft\.com

  • 다음을

example.microsoft.com\user로 바꾸려 user@example.microsoft.com

  • 찾을:(.*)@(.*)

  • 교체:$2\$1

do기본\user를 specific_do기본\user로 바꾸려

  • 찾을:(.*)\\(.*)

  • 바꾸기: specific_do기본\$2

사용자를user@specific_do기본 대체하려면

  • 찾을:$

  • 바꾸기: @specific_do기본

프록시 서버에서 RADIUS 메시지 전달 예제

NPS가 RADIUS 프록시로 사용되는 경우 지정된 영역 이름의 RADIUS 메시지를 RADIUS 서버 집합으로 전달하는 라우팅 규칙을 만들 수 있습니다. 다음은 영역 이름을 기반으로 요청을 라우팅하는 데 권장되는 구문입니다.

  • NetBIOS 이름: WCOAST
  • 패턴: ^wcoast\\

다음 예제에서 wcoast.microsoft.com DNS 또는 Active Directory의 고유한 UPN(사용자 계정 이름) 접미사입니다기본 wcoast.microsoft.com. 제공된 패턴을 사용하여 NPS 프록시는 do기본 NetBIOS 이름 또는 UPN 접미사를 기반으로 메시지를 라우팅할 수 있습니다.

  • NetBIOS 이름: WCOAST
  • UPN 접미사: wcoast.microsoft.com
  • 패턴: ^wcoast\\|@wcoast\.microsoft\.com$

NPS 관리에 대한 자세한 내용은 네트워크 정책 서버 관리를 참조 하세요.

NPS에 대한 자세한 내용은 NPS(네트워크 정책 서버)를 참조하세요.