Bagikan melalui


Menggunakan Ekspresi Reguler di NPS

Topik ini menjelaskan penggunaan ekspresi reguler untuk pencocokan pola di NPS di Windows Server. Anda dapat menggunakan sintaks ini untuk menentukan kondisi atribut kebijakan jaringan dan ranah RADIUS.

Catatan

Konsol NPS dan snap-in MMC NPS memiliki batas 256 karakter untuk semua pengaturan yang mengambil nilai string. Itu termasuk semua pengaturan yang dapat dikonfigurasi menggunakan ekspresi reguler. Untuk mengonfigurasi nilai string yang melebihi 256 karakter, gunakan perintah NETSH NPS. Nilai string yang dikonfigurasi melebihi 256 karakter tidak dapat diedit di Konsol NPS atau snap-in MMC NPS tanpa membatalkannya.

Referensi pencocokan pola

Anda dapat menggunakan tabel berikut sebagai sumber referensi saat membuat ekspresi reguler dengan sintaks pencocokan pola. Perhatikan bahwa pola ekspresi reguler sering dikelilingi oleh garis miring ke depan (/).

karakter Deskripsi Contoh
\ Menunjukkan bahwa karakter berikut adalah karakter khusus, atau harus ditafsirkan secara harfiah. /n/ matches the character "n" while the sequence /\n/ matches a line feed or newline character.
^ Cocok dengan awal input atau baris.  
$ Cocok dengan akhir input atau baris.  
* Cocok dengan nol karakter sebelumnya atau lebih kali. /zo*/ matches either "z" or "zoo."
+ Cocok dengan karakter sebelumnya satu atau beberapa kali. /zo+/ matches "zoo" but not "z."
? Cocok dengan nol karakter sebelumnya atau satu kali. /a?ve?/ matches the "ve" in "never."
. Cocok dengan karakter tunggal apa pun kecuali karakter baris baru.  
(pattern) Cocok dengan "pola" dan mengingat kecocokan.
Untuk mencocokkan karakter ( literal dan ) (tanda kurung), gunakan \( atau \).
 
x | y Cocok dengan x atau y.
{n} Cocok tepat n kali (n adalah bilangan bulat non-negatif). /o{2}/ does not match the "o" in "Bob," but matches the first two instances of the letter o in "foooood."
{n,} Cocok setidaknya n kali (n adalah bilangan bulat non-negatif). /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} Cocok setidaknya n dan paling banyak m kali (m dan n adalah bilangan bulat non-negatif). /o{1,3}/ matches the first three instances of the letter o in "fooooood."
[xyz] Cocok dengan salah satu karakter yang diapit (kumpulan karakter). /[abc]/ matches the "a" in "plain."
[^xyz] Cocok dengan karakter apa pun yang tidak diapit (kumpulan karakter negatif). /[^abc]/ matches the "p" in "plain."
\b Cocok dengan batas kata (misalnya, spasi). /ea*r\b/ matches the "er" in "never early."
\B Cocok dengan batas nonword. /ea*r\B/ matches the "ear" in "never early."
\d Cocok dengan karakter digit (setara dengan digit dari 0 hingga 9).  
\D Cocok dengan karakter nondigit (setara dengan [^0-9]).  
\f Cocok dengan karakter umpan formulir.  
\n Cocok dengan karakter umpan baris.  
\r Cocok dengan karakter pengembalian gerbong.  
\s Cocok dengan karakter spasi kosong termasuk spasi, tab, dan umpan formulir (setara dengan [ \f\n\r\t\v]).  
\S Cocok dengan karakter spasi non-putih (setara dengan [^ \f\n\r\t\v]).  
\t Cocok dengan karakter tab.  
\v Cocok dengan karakter tab vertikal.  
\w Cocok dengan karakter kata apa pun, termasuk garis bawah (setara dengan [A-Za-z0-9_]).  
\W Cocok dengan karakter non-kata apa pun, tidak termasuk garis bawah (setara dengan [^A-Za-z0-9_]).  
\num Mengacu pada kecocokan yang diingat (?num, di mana num adalah bilangan bulat positif). Opsi ini hanya dapat digunakan dalam kotak teks Ganti saat mengonfigurasi manipulasi atribut. \1 menggantikan apa yang disimpan dalam kecocokan pertama yang diingat.
/n/ Memungkinkan penyisipan kode ASCII ke dalam ekspresi reguler (?n, di mana n adalah nilai escape oktal, heksadesimal, atau desimal).  

Contoh untuk atribut kebijakan jaringan

Contoh berikut menjelaskan penggunaan sintaks pencocokan pola untuk menentukan atribut kebijakan jaringan:

  • Untuk menentukan semua nomor telepon dalam kode area 899, sintaksnya adalah:

    899.*

  • Untuk menentukan rentang alamat IP yang dimulai dengan 192.168.1, sintaksnya adalah:

    192\.168\.1\..+

Contoh untuk manipulasi nama realm di atribut Nama Pengguna

Catatan

Manipulasi realm tidak berfungsi dengan PEAP.
Perilaku yang diinginkan mungkin dicapai dengan beralih ke EAP-TLS atau EAP-MSCHAPv2 untuk autentikasi atau menambahkan akhiran UPN ke domain untuk setiap nama domain tambahan yang perlu Anda atasi.

Contoh berikut menjelaskan penggunaan sintaks pencocokan pola untuk memanipulasi nama realm untuk atribut Nama Pengguna, yang terletak di tab Atribut di properti kebijakan permintaan koneksi.

Untuk menghapus bagian realm dari atribut Nama Pengguna

Dalam skenario dial-up outsourcing di mana penyedia layanan Internet (ISP) merutekan permintaan koneksi ke NPS organisasi, proksi RADIUS ISP mungkin memerlukan nama realm untuk merutekan permintaan autentikasi. Namun, NPS mungkin tidak mengenali bagian nama realm dari nama pengguna. Oleh karena itu, nama realm harus dihapus oleh proksi ISP RADIUS sebelum diteruskan ke NPS organisasi.

  • Menemukan: @microsoft\.com

  • Ganti:

Untuk mengganti user@example.microsoft.com dengan example.microsoft.com\user

  • Menemukan:(.*)@(.*)

  • Mengganti:$2\$1

Untuk mengganti domain\user dengan specific_domain\user

  • Menemukan:(.*)\\(.*)

  • Ganti: specific_domain\$2

Untuk mengganti pengguna dengan user@specific_domain

  • Menemukan:$

  • Ganti: @specific_domain

Contoh untuk penerusan pesan RADIUS oleh server proksi

Anda dapat membuat aturan perutean yang meneruskan pesan RADIUS dengan nama realm tertentu ke sekumpulan server RADIUS saat NPS digunakan sebagai proksi RADIUS. Berikut ini adalah sintaks yang direkomendasikan untuk permintaan perutean berdasarkan nama realm.

  • Nama NetBIOS: WCOAST
  • Pola: ^wcoast\\

Dalam contoh berikut, wcoast.microsoft.com adalah akhiran nama prinsipal pengguna (UPN) unik untuk domain DNS atau Direktori Aktif wcoast.microsoft.com. Dengan menggunakan pola yang disediakan, proksi NPS dapat merutekan pesan berdasarkan nama Domain NetBIOS atau akhiran UPN.

  • Nama NetBIOS: WCOAST
  • Akhiran UPN: wcoast.microsoft.com
  • Pola: ^wcoast\\|@wcoast\.microsoft\.com$

Untuk informasi selengkapnya tentang mengelola NPS, lihat Mengelola Server Kebijakan Jaringan.

Untuk informasi selengkapnya tentang NPS, lihat Server Kebijakan Jaringan (NPS).