Teams Phone Agentへの迷惑電話は、Teams PowerShellのNew-CsMainlineAttendantSpamDetectionTemplateを使い、切断する、設定済みオペレーターへ転送する、指定した宛先へ転送するという3種類の処理をテンプレート化できます。
ただし、テンプレートを作成しただけではスパム検出は有効になりません。作成後にテンプレートIDをTeams Phone Agentへ割り当てる必要があります。また、Teams Phone AgentはFrontier Public Previewの対象機能であり、PowerShellコマンドには旧称の「Mainline Attendant」が残っています。(Microsoft Learn)
この記事では、利用条件の確認からテンプレート作成、Teams Phone Agentへの割り当て、テスト、変更・削除までを実務向けに解説します。
Teams Phone Agentのスパム検出テンプレートでできること
New-CsMainlineAttendantSpamDetectionTemplateの-Actionには、次の3つを指定できます。
| Actionの値 | スパム判定後の処理 | 適した利用場面 | 注意点 |
|---|---|---|---|
DisconnectCall | 着信を切断する | 明らかな迷惑電話を自動的に遮断したい | 誤検知時も切断される |
TransferCallToOperator | Teams Phone Agentに設定されたオペレーターへ転送する | 導入初期や、最終判断を担当者に任せたい | オペレーター未設定時は切断される |
TransferCallToTarget | -CallTargetで指定した宛先へ転送する | セキュリティ窓口や専用受付へ集約したい | 呼び出し可能な宛先オブジェクトの作成が必要 |
TransferCallToOperatorを指定しても、対象のTeams Phone Agentにオペレーターが設定されていなければ、スパム着信は切断されます。TransferCallToTargetでは、New-CsAutoAttendantCallableEntityで作成した転送先を指定します。(Microsoft Learn)
このテンプレートで設定するのは、スパムと判定された後の処理と電話番号リストです。公開されている構文には、スパム判定モデルの感度やスコアのしきい値を変更するパラメーターはありません。(Microsoft Learn)
作業前に確認する要件
PowerShellを実行する前に、次の条件を確認します。
| 確認項目 | 確認内容 |
|---|---|
| プレビュー参加状況 | 対象テナントでTeams Phone AgentのFrontier Public Previewが利用できるか |
| 管理者ロール | 音声アプリケーションを管理できるロールが割り当てられているか |
| PowerShellモジュール | MicrosoftTeamsモジュールが更新されているか |
| コマンドの公開状況 | New-CsMainlineAttendantSpamDetectionTemplateがテナントで認識されるか |
| オペレーター設定 | TransferCallToOperatorを使う場合、Agentにオペレーターが設定されているか |
| 転送先の準備 | TransferCallToTargetを使う場合、ユーザーやリソースアカウントなどの転送先があるか |
Frontier Public Previewへの参加が必要
Microsoft Learnでは、Teams Phone AgentはFrontier Public Preview参加者向けと案内されています。一方、New-CsAutoAttendantの関連パラメーターにはVoice Applications private previewという表記も残っています。
プレビュー中はドキュメント、モジュール、テナント側の展開時期に差が生じる可能性があります。Frontierへの参加状況だけで判断せず、実際にGet-Commandを実行して、コマンドとパラメーターが公開されているかを確認してください。(Microsoft Learn)
管理権限を確認する
音声アプリケーション、電話番号、リソースアカウントなどを扱う場合は、最小権限の候補としてTeams Telephony Administratorを利用できます。このロールは、Teamsの電話機能、音声アプリケーション、リソースアカウントなどを管理できます。
組織の運用ルールによっては、Teams Communications AdministratorやTeams Administratorが使われている場合もあります。グローバル管理者を常用するのではなく、必要な範囲に限定したロールを使用してください。(Microsoft Learn)
Microsoft Teams PowerShellを準備する
MicrosoftTeamsモジュールをインストールまたは更新する
MicrosoftTeamsモジュールが未導入の場合は、PowerShellを開いて次のコマンドを実行します。
Install-Module `
-Name MicrosoftTeams `
-Scope CurrentUser `
-Repository PSGallery `
-Force `
-AllowClobber
すでに導入済みの場合も、古いバージョンが読み込まれていると新しいコマンドを認識できないことがあります。
Update-Module -Name MicrosoftTeams -Force
Remove-Module MicrosoftTeams -ErrorAction SilentlyContinue
Import-Module MicrosoftTeams -Force
本稿作成時点の2026年7月23日には、PowerShell Gallery上の安定版としてMicrosoftTeams 7.9.0が公開されています。ただし、最新モジュールを導入しても、テナント側でプレビュー機能が有効になっていなければコマンドを利用できない場合があります。([powershellgallery.com][3])
読み込まれているバージョンを確認します。
Get-Module MicrosoftTeams |
Select-Object Name, Version, Path
複数バージョンがインストールされている場合は、次のコマンドで一覧を確認できます。
Get-Module -ListAvailable MicrosoftTeams |
Sort-Object Version -Descending |
Select-Object Name, Version, Path
Microsoft Teamsへ接続する
Connect-MicrosoftTeams
複数テナントを管理している場合は、サインイン後に対象テナントが正しいことを必ず確認してください。テスト用テナントで作成したつもりが、本番テナントにテンプレートを作成してしまう事故を防ぐためです。
コマンドが利用できるか確認する
最初に、目的のコマンドが現在のセッションで認識されるか確認します。
$command = Get-Command `
-Name New-CsMainlineAttendantSpamDetectionTemplate `
-ErrorAction Stop
$command |
Select-Object Name, Source, Version
続いて、実際に利用できる構文とパラメーターを確認します。
Get-Command `
-Name New-CsMainlineAttendantSpamDetectionTemplate `
-Syntax
$command.Parameters.Keys |
Sort-Object
Get-Commandでコマンドが見つからない場合は、次の順番で確認します。
- MicrosoftTeamsモジュールを更新する
- PowerShellをいったん閉じて再接続する
- 正しいテナントへ接続しているか確認する
- Frontier Public Previewの対象になっているか確認する
- 対象機能がテナントへ展開済みか確認する
New-CsMainlineAttendantSpamDetectionTemplateの主要パラメーター
基本的に使用するパラメーターは次のとおりです。
| パラメーター | 必須 | 内容 |
|---|---|---|
-Name | 必須 | テンプレート名 |
-Description | 必須 | 用途、管理者、変更番号などの説明 |
-EnableSpamDetection | 必須 | $trueでスパム検出を有効化 |
-Action | 必須 | 検出後の切断または転送処理 |
-CallTarget | 条件付き | TransferCallToTargetで使用する転送先 |
-InclusionList | 任意 | 常にスパムとして扱うE.164形式の電話番号 |
-ExclusionList | 任意 | スパムとして扱わないE.164形式の電話番号 |
-Nameには、環境、処理、バージョンが分かる名前を付けると管理しやすくなります。
JP-PILOT-Spam-Operator-v1
JP-PROD-Spam-Disconnect-v1
JP-PROD-Spam-SecurityDesk-v2
-Descriptionには、単なる機能説明だけでなく、管理責任者や変更管理番号を残す方法が実用的です。
スパム判定着信をオペレーターへ転送。
Owner=TeamsOps; Change=CHG-2026-0123; Review=2026-10-01
InclusionListとInclusionScopeの表記差に注意する
公開ドキュメントの構文欄には-InclusionScopeと-ExclusionScopeが記載されていますが、同じページの使用例とパラメーター説明では-InclusionListと-ExclusionListが使われています。(Microsoft Learn)
そのため、コピーしたコマンドがエラーになる場合は、インストール済みモジュールが公開しているパラメーターを優先してください。
(Get-Command New-CsMainlineAttendantSpamDetectionTemplate).Parameters.Keys |
Where-Object {
$_ -match "Inclusion|Exclusion"
} |
Sort-Object
スパム着信を切断するテンプレートの作り方
スパム判定された着信を即座に切断する場合は、-ActionにDisconnectCallを指定します。
$templateName = "JP-PROD-Spam-Disconnect-v1"
$existingTemplate = Get-CsMainlineAttendantSpamDetectionTemplate |
Where-Object {
$_.Name -eq $templateName
}
if ($existingTemplate) {
throw "同名のテンプレートがすでに存在します: $templateName"
}
New-CsMainlineAttendantSpamDetectionTemplate `
-Name $templateName `
-Description "スパム判定着信を切断。Owner=TeamsOps; Change=CHG-2026-0123" `
-EnableSpamDetection $true `
-Action "DisconnectCall" `
-ErrorAction Stop
DisconnectCallは対応工数を減らせますが、誤検知された正当な着信も切断されます。本番環境へ直接導入するより、最初はテスト用AgentまたはTransferCallToOperatorで運用し、誤検知の影響を確認してから切断へ切り替える方法が安全です。
スパム着信をオペレーターへ転送するテンプレートの作り方
スパム判定された着信を担当者に確認させる場合は、TransferCallToOperatorを指定します。
New-CsMainlineAttendantSpamDetectionTemplate `
-Name "JP-PILOT-Spam-Operator-v1" `
-Description "スパム判定着信を設定済みオペレーターへ転送。パイロット用" `
-EnableSpamDetection $true `
-Action "TransferCallToOperator" `
-ErrorAction Stop
作成前に、対象のTeams Phone Agentにオペレーターが設定されているか確認します。
$agentId = "<Teams Phone AgentのGUID>"
Get-CsAutoAttendant -Identity $agentId |
Select-Object Name, Id, Operator
Operatorが空の場合は、そのまま本番投入しないでください。公式仕様では、オペレーター未設定時にスパム着信が切断されます。(Microsoft Learn)
スパム着信を指定先へ転送するテンプレートの作り方
TransferCallToTargetを使用する場合は、先にNew-CsAutoAttendantCallableEntityで転送先を作成します。
転送先として指定できる主な種類は次のとおりです。
| Type | 主な転送先 |
|---|---|
User | Teamsユーザー |
ApplicationEndpoint | リソースアカウント |
ConfigurationEndpoint | 別の自動応答や通話キュー |
ExternalPstn | 外部電話番号 |
SharedVoicemail | 共有ボイスメール |
Callable EntityにはMicrosoft EntraオブジェクトIDまたはTEL URIを使用します。ユーザーを指定する場合は、Enterprise Voiceが有効なユーザーのオブジェクトIDが必要です。(Microsoft Learn)
Teamsユーザーへ転送する場合
$targetUser = Get-CsOnlineUser `
-Identity "[email protected]" `
-ErrorAction Stop
if (-not $targetUser.ObjectId) {
throw "転送先ユーザーのObjectIdを取得できませんでした。"
}
$callTarget = New-CsAutoAttendantCallableEntity `
-Identity $targetUser.ObjectId `
-Type User
New-CsMainlineAttendantSpamDetectionTemplate `
-Name "JP-PROD-Spam-SecurityDesk-v1" `
-Description "スパム判定着信をセキュリティ窓口へ転送" `
-EnableSpamDetection $true `
-Action "TransferCallToTarget" `
-CallTarget $callTarget `
-ErrorAction Stop
外部電話番号へ転送する場合
外部PSTN番号を指定する場合は、tel:から始まるTEL URIを使用します。
$callTarget = New-CsAutoAttendantCallableEntity `
-Identity "tel:+14255550100" `
-Type ExternalPstn
New-CsMainlineAttendantSpamDetectionTemplate `
-Name "JP-PROD-Spam-External-v1" `
-Description "スパム判定着信を外部受付番号へ転送" `
-EnableSpamDetection $true `
-Action "TransferCallToTarget" `
-CallTarget $callTarget `
-ErrorAction Stop
外部転送では、TeamsのPSTN接続方式、音声ルーティング、利用ポリシーなどによって発信可否が変わります。テンプレート作成に成功しても通話転送に失敗する場合は、まず通常の自動応答から同じ宛先へ転送できるかを確認してください。Callable Entityの公式例でも、外部番号はtel:+1234567890の形式で指定されています。(Microsoft Learn)
InclusionListとExclusionListの使い分け
InclusionListとExclusionListを使うと、スパム判定の例外を電話番号単位で制御できます。
| リスト | 動作 | 主な用途 |
|---|---|---|
InclusionList | 常にスパムとして扱う | テスト番号、既知の迷惑電話番号 |
ExclusionList | スパムとして扱わない | 重要顧客、役員、取引先、緊急連絡先 |
電話番号はE.164形式で指定します。日本の番号は、国内番号の先頭にある0を外し、国番号+81を付けます。
| 国内表記の例 | E.164形式 |
|---|---|
03-1234-XXXX | +8131234XXXX |
090-1234-XXXX | +81901234XXXX |
0120-123-XXX | +81120123XXX |
ハイフン、空白、かっこは使用しません。公式ドキュメントでは、InclusionListは常にスパムとする番号、ExclusionListはスパムとしない番号の一覧として説明されています。(Microsoft Learn)
除外番号を設定して切断する例
New-CsMainlineAttendantSpamDetectionTemplate `
-Name "JP-PROD-Spam-Disconnect-AllowList-v1" `
-Description "スパム着信を切断。ただし重要番号は除外" `
-EnableSpamDetection $true `
-Action "DisconnectCall" `
-ExclusionList @(
"+14255550101",
"+14255550102"
) `
-ErrorAction Stop
テスト番号を強制的にスパムとして扱う例
New-CsMainlineAttendantSpamDetectionTemplate `
-Name "JP-TEST-Spam-Operator-v1" `
-Description "スパム検出動作確認用。指定テスト番号を常にスパム扱い" `
-EnableSpamDetection $true `
-Action "TransferCallToOperator" `
-InclusionList @(
"+14255550103"
) `
-ErrorAction Stop
本番のスパム判定を待つより、管理下にあるテスト発信番号を一時的にInclusionListへ登録した方が、切断や転送の動作を確実に確認できます。テスト後は、その番号をリストから削除するか、テスト用テンプレートを本番Agentから外してください。
パラメーター名の表記差を吸収するスクリプト
テナントやモジュールによってListとScopeのどちらが公開されているか分からない場合は、次のように実際のパラメーターを判定できます。
$commandName = "New-CsMainlineAttendantSpamDetectionTemplate"
$availableParameters = (Get-Command $commandName).Parameters
$createParameters = @{
Name = "JP-TEST-Spam-Disconnect-v1"
Description = "パラメーター表記差を吸収したテスト用テンプレート"
EnableSpamDetection = $true
Action = "DisconnectCall"
ErrorAction = "Stop"
}
$inclusionNumbers = @(
"+14255550103"
)
$exclusionNumbers = @(
"+14255550104"
)
if ($availableParameters.ContainsKey("InclusionList")) {
$createParameters["InclusionList"] = $inclusionNumbers
}
elseif ($availableParameters.ContainsKey("InclusionScope")) {
$createParameters["InclusionScope"] = $inclusionNumbers
}
else {
throw "InclusionListまたはInclusionScopeが見つかりません。"
}
if ($availableParameters.ContainsKey("ExclusionList")) {
$createParameters["ExclusionList"] = $exclusionNumbers
}
elseif ($availableParameters.ContainsKey("ExclusionScope")) {
$createParameters["ExclusionScope"] = $exclusionNumbers
}
else {
throw "ExclusionListまたはExclusionScopeが見つかりません。"
}
New-CsMainlineAttendantSpamDetectionTemplate @createParameters
プレビュー期間中の自動化スクリプトでは、特定のパラメーター名を決め打ちするより、このように実環境の構文を検査してから実行する方が変更に対応しやすくなります。
作成したテンプレートを確認する
テナント内のテンプレートを一覧表示します。
Get-CsMainlineAttendantSpamDetectionTemplate |
Select-Object Id, Name, EnableSpamDetection, Action
特定のIDを指定して詳細を確認します。
$templateId = "<スパム検出テンプレートのGUID>"
Get-CsMainlineAttendantSpamDetectionTemplate `
-Id $templateId |
Format-List *
名前でテンプレートを取得する場合は、同名テンプレートが複数存在しないか確認してください。
$templateName = "JP-PROD-Spam-Disconnect-v1"
$templates = @(
Get-CsMainlineAttendantSpamDetectionTemplate |
Where-Object {
$_.Name -eq $templateName
}
)
if ($templates.Count -ne 1) {
throw "対象テンプレートを一意に特定できません。該当数: $($templates.Count)"
}
$template = $templates[0]
$template |
Format-List Id, Name, Description, EnableSpamDetection, Action
テンプレート名は管理用の表示名です。Teams Phone Agentへ割り当てるときは、名前ではなくGUID形式のIdを使用します。
Teams Phone Agentへテンプレートを割り当てる
スパム検出テンプレートは、作成しただけでは着信処理に使用されません。Teams Phone Agent側のSpamDetectionTemplateIdに、作成したテンプレートのIDを指定します。(Microsoft Learn)
新しいTeams Phone Agentを作成するときに割り当てる
New-CsAutoAttendantには、Teams Phone Agentを有効にする-EnableMainlineAttendantと、テンプレートを割り当てる-SpamDetectionTemplateIdがあります。
$templateName = "JP-PROD-Spam-Disconnect-v1"
$template = Get-CsMainlineAttendantSpamDetectionTemplate |
Where-Object {
$_.Name -eq $templateName
} |
Select-Object -First 1
if (-not $template) {
throw "スパム検出テンプレートが見つかりません。"
}
New-CsAutoAttendant `
-Name "JP Main Reception" `
-LanguageId "ja-JP" `
-TimeZoneId "Tokyo Standard Time" `
-DefaultCallFlow $defaultCallFlow `
-Operator $operator `
-EnableMainlineAttendant `
-SpamDetectionTemplateId $template.Id
この例では、$defaultCallFlowと$operatorを事前に作成しておく必要があります。また、Teams Phone Agentとして使用する自動応答にはリソースアカウントの割り当ても必要です。-EnableMainlineAttendantを指定すると音声応答は自動的に有効になりますが、選択できる言語には制限があります。(Microsoft Learn)
既存のTeams Phone Agentへ割り当てる
既存の自動応答は、Get-CsAutoAttendantでオブジェクトを取得し、プロパティを変更してからSet-CsAutoAttendant -Instanceで保存するのが基本です。(Microsoft Learn)
プレビュー環境ではプロパティの公開状況が異なる可能性があるため、次のようにSpamDetectionTemplateIdが存在することを確認してから変更します。
$agentId = "<Teams Phone AgentのGUID>"
$templateId = "<スパム検出テンプレートのGUID>"
$agent = Get-CsAutoAttendant `
-Identity $agentId `
-ErrorAction Stop
if (
$agent.PSObject.Properties.Name `
-notcontains "SpamDetectionTemplateId"
) {
throw "この環境ではSpamDetectionTemplateIdプロパティが公開されていません。"
}
$agent.SpamDetectionTemplateId = [Guid]$templateId
Set-CsAutoAttendant `
-Instance $agent `
-ErrorAction Stop
保存後に再取得し、テンプレートIDを確認します。
Get-CsAutoAttendant -Identity $agentId |
Select-Object Name, Id, SpamDetectionTemplateId
PowerShell上にプロパティが存在しない場合は、無理にプロパティを追加しないでください。MicrosoftTeamsモジュールの更新、Frontierへの参加状況、対象テナントへの機能展開を確認します。
テンプレートの設定を変更する
既存テンプレートは、Get-CsMainlineAttendantSpamDetectionTemplateで取得し、プロパティを変更してからSet-CsMainlineAttendantSpamDetectionTemplateへ渡します。
次の例では、切断する設定をオペレーター転送へ変更します。
$templateId = "<スパム検出テンプレートのGUID>"
$spamTemplate = Get-CsMainlineAttendantSpamDetectionTemplate `
-Id $templateId `
-ErrorAction Stop
$spamTemplate.Action = "TransferCallToOperator"
Set-CsMainlineAttendantSpamDetectionTemplate `
-Instance $spamTemplate `
-ErrorAction Stop
Microsoftの公式例でも、テンプレートを取得し、Actionプロパティを変更してからSet-CsMainlineAttendantSpamDetectionTemplate -Instanceで保存する手順が示されています。(GitHub)
変更後は、必ず再取得して設定値を確認します。
Get-CsMainlineAttendantSpamDetectionTemplate `
-Id $templateId |
Format-List Id, Name, Description, EnableSpamDetection, Action
共有しているテンプレートを変更すると、同じテンプレートIDを使用する複数のTeams Phone Agentに影響する可能性があります。変更前に、対象テンプレートがどのAgentで使われているかを整理してください。
テンプレートを削除する
不要なテンプレートは、IDを指定して削除します。
$templateId = "<削除するテンプレートのGUID>"
Remove-CsMainlineAttendantSpamDetectionTemplate `
-Id $templateId `
-ErrorAction Stop
公式ドキュメントの更新履歴では、削除対象のスパム検出テンプレートはTeams Phone Agentに割り当てられていない必要があると説明されています。先にAgentからテンプレートの割り当てを解除し、その後で削除してください。(GitHub)
削除前には、誤操作を防ぐため対象を再確認します。
Get-CsMainlineAttendantSpamDetectionTemplate `
-Id $templateId |
Format-List Id, Name, Description, Action
テンプレート名ではなく、GUIDが目的のものと一致していることを確認してから削除するのが安全です。
本番投入前に実施するテスト
本番Agentへ割り当てる前に、テスト用Agentまたは影響の少ない時間帯で次の項目を確認します。
| テスト項目 | 確認方法 | 期待結果 |
|---|---|---|
| テンプレート取得 | Get-CsMainlineAttendantSpamDetectionTemplateを実行 | 作成した名前、ID、Actionが表示される |
| Agentへの割り当て | Get-CsAutoAttendantを実行 | SpamDetectionTemplateIdが一致する |
| 強制スパム判定 | テスト番号をInclusionListへ登録して発信 | 指定したActionが実行される |
| 除外番号 | テスト番号をExclusionListへ登録して発信 | スパム処理を受けず通常フローへ進む |
| オペレーター転送 | TransferCallToOperatorで発信 | 設定済みオペレーターが呼び出される |
| 指定先転送 | TransferCallToTargetで発信 | 指定ユーザーや宛先が呼び出される |
| 通常着信 | リストにない番号から発信 | 正常なTeams Phone Agentの処理へ進む |
| ロールバック | 旧テンプレートへ戻す、または割り当て解除 | 変更前の着信動作へ戻る |
テストでは、発信日時、発信元番号、使用したテンプレートID、期待したAction、実際の結果を記録します。単に「転送できた」とするのではなく、どの条件でどの経路に入ったかを残すことで、誤検知や設定ミスを切り分けやすくなります。
よくあるエラーと対処方法
| 症状 | 主な原因 | 対処方法 |
|---|---|---|
| コマンドが認識されない | モジュールが古い、プレビュー未展開、別テナントへ接続 | モジュール更新、再接続、Frontier参加状況を確認 |
ExclusionListが見つからない | ドキュメントと実装のパラメーター名が異なる | Get-Command ... -Syntaxと.Parameters.Keysを確認 |
| テンプレートを作成しても動作しない | AgentへテンプレートIDを割り当てていない | SpamDetectionTemplateIdを確認 |
| スパム検出が行われない | EnableSpamDetectionが$false | テンプレートの設定を再取得して確認 |
| オペレーター転送なのに切断される | Agentにオペレーターが設定されていない | Get-CsAutoAttendantでOperatorを確認 |
| 指定先へ転送できない | Callable Entityの種類またはIdentityが不正 | ObjectId、TEL URI、Typeを確認 |
| ユーザー宛てのCallable Entityを作成できない | 対象ユーザーがEnterprise Voice未対応 | ユーザーの音声設定を確認 |
| テンプレートを削除できない | Agentへ割り当て中、またはIDが誤っている | 割り当てを解除し、GUIDを再確認 |
| 名前検索で複数件見つかる | 同名テンプレートを複数作成した | GUIDで管理し、名前に環境・用途・版数を含める |
スパム検出を安全に運用するための設計ポイント
最初から切断せずオペレーター転送で試す
導入初期は、DisconnectCallではなくTransferCallToOperatorを選ぶ方法が現実的です。一定期間の運用で誤検知の傾向を確認し、問題が少なければ切断へ変更します。
重要番号はExclusionListで保護する
役員、主要顧客、保守会社、警備会社など、取りこぼしの影響が大きい番号はExclusionListへの登録を検討します。
ただし、例外番号を増やしすぎると管理が難しくなります。登録理由、管理者、見直し日を別途記録してください。
テスト用と本番用を分ける
次のように環境が分かる名前を使用します。
JP-TEST-Spam-Operator-v1
JP-PILOT-Spam-Operator-v1
JP-PROD-Spam-Disconnect-v1
テスト用テンプレートに本番の重要番号を登録したり、本番テンプレートに一時的な検証番号を残したりする事故を防げます。
共有テンプレートの影響範囲を把握する
複数のTeams Phone Agentで同じテンプレートを共有すると、管理対象を減らせます。一方、テンプレートのActionやリストを変更したときに、複数Agentへ同時に影響します。
受付、サポート、代表電話などで求められる処理が異なる場合は、用途別にテンプレートを分けた方が安全です。
ロールバック手順を先に決める
本番変更前に、次の情報を記録します。
- 変更前のテンプレートID
- 変更後のテンプレートID
- 対象Teams Phone AgentのID
- 変更日時
- 実行者
- 元に戻すPowerShellコマンド
- テスト発信に使用する番号
問題が発生してから旧IDを探すのではなく、変更作業票にロールバック用のIDとコマンドを準備しておくことが重要です。
Teams Phone Agentのスパム検出を導入する手順のまとめ
Teams Phone Agentのスパム検出テンプレートは、次の順番で導入します。
- Frontier Public Previewと管理権限を確認する
- MicrosoftTeamsモジュールを更新する
Get-Commandでコマンドとパラメーターを確認する- 最初は
TransferCallToOperatorでパイロット用テンプレートを作成する - テンプレートIDをTeams Phone Agentへ割り当てる
InclusionListを使ってスパム処理を再現するExclusionListと通常着信も含めてテストする- 誤検知の影響を確認してから
DisconnectCallへの変更を判断する
特に重要なのは、テンプレートの作成とAgentへの割り当ては別の作業だという点です。作成後は必ずSpamDetectionTemplateIdを確認し、テスト番号を使って切断・転送が想定どおりに動作するところまで検証してください。
[3]: https://www.powershellgallery.com/packages/MicrosoftTeams “
PowerShell Gallery
| MicrosoftTeams 7.9.0
“

コメント