New-CsVoiceRegex
上次修改主題的時間: 2012-03-26
建立規則運算式模式與轉譯,以將電話號碼轉譯為不同格式。
語法
New-CsVoiceRegex -AtLeastLength <Int32> [-DigitsToPrepend <String>] [-DigitsToStrip <Int32>] [-StartsWith <String>]
New-CsVoiceRegex -ExactLength <Int32> [-DigitsToPrepend <String>] [-DigitsToStrip <Int32>] [-StartsWith <String>]
詳細描述
規則運算式是用來比對字元模式。Microsoft Lync Server 2010 會使用規則運算式將電話號碼在各種格式之間轉換,包括撥打的號碼、E.164,以及當地專用交換機 (PBX) 和公用交換電話網路 (PSTN) 格式。除非您學過規則運算式的使用語法及格式規則,否則可能會不知從何開始定義這些轉換規則。New-CsVoiceRegex 指令程式會提供數個參數,讓您指定特定準則,然後為您產生規則運算式。
此指令程式可協助您產生規則運算式,以作為正規化規則 (New-CsVoiceNormalizationRule) 和輸出轉譯規則 (New-CsOutboundTranslationRule) 的 Pattern 與 Translation 值,以及語音路由 (New-CsVoiceRoute) 的 NumberPattern 值。
誰可以執行此 Cmdlet:下列群組的成員預設會獲授權可以在本機上執行 New-CsVoiceRegex Cmdlet:RTCUniversalServerAdmins。若要傳回指派給該指令程式的所有角色型存取控制 (RBAC) 角色清單 (包括您自己建立的任何自訂 RBAC 角色),請在 Windows PowerShell 提示中執行下列命令:
Get-CsAdminRole | Where-Object {$_.Cmdlets –match "New-CsVoiceRegex"}
參數
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
AtLeastLength |
必要 |
Int32 |
字串 (電話號碼) 若要符合運算式,必須達到的長度下限。例如,如果您定義的正規化規則只適用於至少有 7 位數 (或字元) 的號碼,請為此參數指定 7。 您必須為此參數或 ExactLength 參數輸入一個值。不能同時為這兩者輸入值。 |
ExactLength |
必要 |
Int32 |
字串 (電話號碼) 若要符合規則運算式,必須具有的長度。例如,如果您想要正規化規則只適用於 10 位數號碼,請為此參數指定 10。 您必須為此參數或 AtLeastLength 參數輸入一個值。不能同時為這兩者輸入值。 |
DigitsToPrepend |
選用 |
字串 |
字串,指定要在電話號碼開頭新增的字元或數字。為此參數輸入的值將影響 Translation 值,影響方式為在符合規則運算式 Pattern 的號碼前面加上字元。例如,如果符合模式的號碼為 5551212,而 DigitsToPrepend 值為 425,則轉譯的號碼將為 4255551212 (假設未套用任何其他轉譯)。 |
DigitsToStrip |
選用 |
Int32 |
要從字串 (電話號碼) 開頭除去的字元數。例如,如果輸入號碼 2065551212,而 DigitsToStrip 為 3,則號碼將轉譯為 5551212 |
StartsWith |
選用 |
字串 |
字串 (電話號碼) 的第一個字元。字串除非是以 StartsWith 參數中指定的字串開頭,否則將不會符合規則運算式。例如,如果為 StartsWith 指定 "+1",則只有以 +1 開頭的號碼會符合此模式並受到轉譯。請注意,StartsWith 字串中的字元數將加到 ExactLength 與 AtLeastLength 總計中。例如,如果您已將 ExactLength 指定為 10,並將 StartsWith 字串指定為 +1,則符合的電話號碼將為 8 個字元長,加上最前面的 +1 後才總共有 10 位數。 |
輸入類型
無。
傳回類型
建立 Microsoft.Rtc.Management.Voice.OcsVoiceRegex 類型的物件。
範例
-------------------------- 範例 1 --------------------------
$regex = New-CsVoiceRegex -ExactLength 7 -DigitsToStrip 3
此範例會建立新的規則運算式模式與轉譯。此運算式包含一個必須確切為 7 個字元的模式 (-ExactLength 7),而且會移除相符號碼的前三位數 (-DigitsToStrip 3)。此規則運算式建立的 Pattern 將為 ^\d{3}(\d{4})$,而 Translation 將為 $1。例如,號碼 5551212 會符合此模式,而結果產生的轉譯將為 1212,這是因為7 位數號碼已除去前 3 位數。
-------------------------- 範例 2 --------------------------
$regex = New-CsVoiceRegex -AtLeastLength 7 -StartsWith "1"
New-CsVoiceNormalizationRule "global/internal rule" -Pattern $regex.Pattern -Translation $regex.Translation
此範例也會建立新的規則運算式模式與轉譯,但是隨後會使用這些值來建立新的語音正規化規則。在第一行,我們呼叫 New-CsVoiceRegEx 來建立規則運算式,其中相符號碼必須至少有 7 個字元 (-AtLeastLength 7),而且必須以 1 開頭 (-StartsWith "1")。此命令的結果會指派給變數 $regex。
在第二行,我們呼叫 New-CsVoiceNormalizationRule 指令程式。我們賦與新規則唯一的名稱 (在此例中為 global/internal rule)。然後,我們指派呼叫 New-CsVoiceRegex 後建立的 Pattern 作為正規化規則的 Pattern:-Pattern $regex.Pattern。我們也對 Translation 執行相同的動作,指派呼叫 New-CsVoiceRegex 後所建立的 Translation:-Translation $regex.Translation。
附註:在此範例中建立的模式為 ^(1\d{5}\d+)$。要解釋起來可以這樣說:號碼以 1 (1) 開頭、後接五個數字 (\d{5}),再接任意位數 (\d+)。這會形成至少 7 位數 (1 + 5 + 1 以上) 並以 1 開頭的號碼,也就是我們所要求的結果。