セットアップ - PowerShell を使用してキューを呼び出す

前提条件

  • テナント管理権限があることを確認します。
  • この記事で説明するエージェント、配布リスト、および Teams チャネルは既に作成されています。
  1. MicrosoftTeams PowerShell モジュールが既にインストールされているかどうかを確認します。

    Get-InstalledModule -Name MicrosoftTeams
    

    MicrosoftTeams PowerShell モジュールが既にインストールされている場合、コマンドからの出力は次のようになります。

    Get-InstalledModule -Name MicrosoftTeams
    
    Version              Name                                Repository           Description
    -------              ----                                ----------           -----------
    7.7.0                MicrosoftTeams                      PSGallery            Microsoft Teams cmdlets module for Windows PowerShell and PowerShell Core....
    

    手順 2 に進みます。

    MicrosoftTeams PowerShell モデルがまだインストールされていない場合は、手順 3 に進みます。

  2. MicrosoftTeams モジュールを更新する

    Update-Module MicrosoftTeams
    

    シナリオに進

  3. コンピューターに MicrosoftTeams PowerShell モードをインストールします。

    • コンピューターをWindows PowerShell用に設定する

    • MSTeams モジュールがインストール済み

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • Microsoft Graph モジュールがインストールされました

      Install-Module -Name Microsoft.Graph -Force -AllowClobber
      

シナリオ

Sales (ユーザーとグループ)

  • 自動応答の背後に入れ子になった: はい
  • 呼び出し元: Sales 自動応答のみ - リソース アカウントは必要ありません
  • 言語: 米国英語
  • あいさつ: なし (通話は Sales 自動応答によって迎えられます)
  • 保留音: オーディオ ファイルを再生する
    • ファイル名: sales-hold-in-queue-music.wav
  • 通話応答: ユーザー
    • Bill@contoso.com
    • Mary@contoso.com
  • 通話応答: グループ
    • Sales@contoso.com
  • 会議モード: オン
  • ルーティング方法: ラウンド ロビン
  • プレゼンス ベースのルーティング: オン
  • 通話エージェントは、通話の受け取りをオプトアウトできます: はい
  • 通話エージェントのアラート時間: 15
  • 呼び出しオーバーフロー処理: 200
    • リダイレクト先: Adele@contoso.com
  • 呼び出しタイムアウト処理: 120 秒
    • リダイレクト先: Adele@contoso.com
  • エージェントの処理なし
    • すべての呼び出しに適用する
    • リダイレクト先: Adele@contoso.com
  • コールバック: いいえ
  • サービス レベル: 20 秒
  • 認証ユーザー
    • Adele@contoso.com
  • 音声アプリケーション ポリシー: Sales
  • コンプライアンス記録: いいえ
  • 共有通話履歴: はい
    • テンプレート: Sales
  • 自動記録: いいえ
展開して PowerShell コマンドを表示する

ログイン

メッセージが表示されたら、Teams 管理者の資格情報を入力します。

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

オーディオ Filesの作成

d:\\を、コンピューターに wav ファイルが格納されているパスに置き換えます。

$content = [System.IO.File]::ReadAllBytes('d:\sales-hold-in-queue-music.wav')
$audioFileSalesHoldInQueueMusicID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "sales-hold-in-queue-music.wav" -Content $content).ID

共有通話履歴テンプレートの作成

通話キューテンプレートの自動記録を作成する

ユーザー ID を取得する

$userAdeleID = (Get-CsOnlineUser -Identity "sip:adele@contoso.com").Identity
$userSalesBillID = (Get-CsOnlineUser -Identity "sip:bill@contoso.com").Identity
$userSalesMaryID = (Get-CsOnlineUser -Identity "sip:mary@contoso.com").Identity

サポートされている言語の一覧を取得する

Get-CsAutoAttendantSupportedLanguage

通話キューの作成

New-CsCallQueue -Name "Sales" -AgentAlertTime 15 -AllowOptOut $true -MusicOnHoldAudioFileID $audioFileSalesHoldInQueueMusicID -OverflowAction Forward -OverflowActionTarget $userAdeleID -OverflowThreshold 200 -TimeoutAction Forward -TimeoutActionTarget $userAdeleID -TimeoutThreshold 120 -RoutingMethod Attendant -ConferenceMode $true -User @($userSalesBillID, $userSalesMaryID) -LanguageID "en-US"

サポート (Microsoft Shifts)

  • 自動応答の背後に入れ子になった: はい -
  • 通話: サポートによる自動応答、内部的、PSTN 経由 - リソース アカウントが必要
  • 言語: 英国英語
  • あいさつ: オーディオ ファイルを再生する
    • ファイル名: support-greeting.wav
  • 保留音: オーディオ ファイルを再生する
    • ファイル名: support-hold-in-queue-music.wav
  • 通話応答: Microsoft Shifts サポート チーム
    • Support@contoso.com
  • 会議モード: オン
  • ルーティング方法: 最長アイドル
  • プレゼンス ベースのルーティング: N/A – アイドル時間が最も長いため、既定では オン
  • 通話エージェントは通話の取り消しをオプトアウトできます: いいえ
  • 通話エージェントのアラート時間: 15
  • 呼び出しオーバーフロー処理: 200
    • リダイレクト: 共有ボイスメールをサポートする
      • オーディオ ファイルを再生する (support-shared-voicemail-greeting.wav)
      • 文字起こしが有効
  • 通話タイムアウト処理: 45 分
    • リダイレクト: 共有ボイスメールをサポートする
      • TTS: "お待たせし、ボイスメールに通話を転送しています。
      • 文字起こしが有効
  • エージェントの処理なし
  • コールバック: はい
  • サービス レベル: 30 秒
  • 認証ユーザー
  • コンプライアンス記録
  • 共有通話履歴
  • 自動記録
展開して PowerShell コマンドを表示する

ログイン

メッセージが表示されたら、Teams 管理者の資格情報を入力します。

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

オーディオ ファイルを作成する

d:\\を、コンピューターに wav ファイルが格納されているパスに置き換えます。

$content1 = [System.IO.File]::ReadAllBytes('d:\support-greeting.wav')
$audioFileSupportGreetingID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-greeting.wav" -Content $content1).ID

$content2 = [System.IO.File]::ReadAllBytes('d:\support-hold-in-queue-music.wav')
$audioFileSupportHoldInQueueMusicID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-hold-in-queue-music.wav" -Content $content2).ID

$content3 = [System.IO.File]::ReadAllBytes('d:\support-shared-voicemail-greeting.wav')
$audioFileSupportSharedVoicemailGreetingID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-shared-voicemail-greeting.wav" -Content $content3).ID

サポート チーム グループ ID を取得する

$teamSupportID = (Get-Team -DisplayName "Support").GroupID

サポートされている言語の一覧を取得する

Get-CsAutoAttendantSupportedLanguage

通話キューの作成

New-CsCallQueue -Name "Support" -AgentAlertTime 15 -AllowOptOut $false -DistributionLists $teamSupportID -WelcomeMusicAudioFileID $audioFileSupportGreetingID -MusicOnHoldAudioFileID $audioFileSupportHoldInQueueMusicID -OverflowAction SharedVoicemail -OverflowActionTarget $teamSupportID -OverflowThreshold 200 -OverflowSharedVoicemailAudioFilePrompt $audioFileSupportSharedVoicemailGreetingID -EnableOverflowSharedVoicemailTranscription $true -TimeoutAction SharedVoicemail -TimeoutActionTarget $teamSupportID -TimeoutThreshold 2700 -TimeoutSharedVoicemailTextToSpeechPrompt "We're sorry to have kept you waiting and are now transferring your call to voicemail." -EnableTimeoutSharedVoicemailTranscription $true -RoutingMethod LongestIdle -ConferenceMode $true -LanguageID "en-US"

ライセンスの種類を取得する

Get-MgSubscribedSku

リソース アカウントの作成と割り当て

通話キューは自動応答の背後に入れ子になっているので、電話番号はここで必要ありません。

  • ApplicationID
    • 自動応答: ce933385-9390-45d1-9512-c8d228074e07
    • 通話キュー: 11cd3e2e-fccb-42ad-ad00-878b93575e07

(PHONESYSTEM_VIRTUALUSER)後に表示されるライセンスの種類は、Get-MgSubscribedSku コマンドレットによって一覧表示されるライセンスの種類である必要があります。

New-CsOnlineApplicationInstance -UserPrincipalName Support-RA@contoso.com -DisplayName "Support" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "Support-RA@contoso.com" -UsageLocation US

Set-MgUserLicense -UserId "Support-RA@contoso.com" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "Support-RA@contoso.com").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Support").Identity

New-CsOnlineApplicationInstanceAssociation -Identities @($applicationInstanceID) -ConfigurationID $callQueueID -ConfigurationType CallQueue

施設 (Teams チャネル)

  • 自動応答の背後に入れ子になった: いいえ
  • PSTN からの直接呼び出し: いいえ (内部呼び出しのみ)
  • 言語: フランス語 FR
  • あいさつ: なし
  • 保留音: 既定
  • 通話応答: チーム: 機能
  • 通話応答チャネル: ヘルプ デスク
    • チャネル所有者: Fred@contoso.com
  • 会議モード: オン
  • ルーティング方法: ラウンド ロビン
  • プレゼンス ベースのルーティング: オン
  • 通話エージェントは通話の取り消しをオプトアウトできます: いいえ
  • 通話エージェントのアラート時間: 15
  • 呼び出しオーバーフロー処理: 200
    • 切断
  • 通話タイムアウト処理: 45 分
    • 切断
  • エージェントの処理なし
  • コールバック: はい
  • サービス レベル: 30 秒
  • 認証ユーザー
  • コンプライアンス記録
  • 共有通話履歴
  • 自動記録
展開して PowerShell コマンドを表示する

ログイン

メッセージが表示されたら、Teams 管理者の資格情報を入力します。

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

施設チーム グループ ID を取得する

$teamFacilitiesGroupID = (Get-Team -DisplayName "Facilities").GroupID

施設ヘルプ デスク チーム チャネル ID を取得する

Get-TeamChannel -GroupId $teamFacilitiesGroupID
$teamFacilitiesHelpDeskChannelID = "{assign ID from output of above command}"

施設ヘルプ デスク チャネルの所有者ユーザー ID を取得する

$teamFacilitiesHelpDeskChannelUserID = (Get-TeamChannelUser -GroupId $teamFacilitiesGroupID -DisplayName "Help Desk" -Role Owner).UserId

リソース アカウント ID の呼び出しに代わって取得する

$oboResourceAccountID = (Get-CsOnlineUser -Identity "MainAA-RA@contoso.com").Identity

サポートされている言語の一覧を取得する

Get-CsAutoAttendantSupportedLanguage

通話キューの作成

New-CsCallQueue -Name "Facilities" -AgentAlertTime 15 -AllowOptOut $false -ChannelId $teamFacilitiesHelpDeskChannelID -ChannelUserObjectId $teamFacilitiesHelpDeskChannelUserID  -ConferenceMode $true -DistributionList $teamFacilitiesGroupID -LanguageID "fr-FR" -OboResourceAccountIds $oboResourceAccountID -OverflowAction DisconnectWithBusy -OverflowThreshold 200 -RoutingMethod RoundRobin -TimeoutAction Disconnect -TimeoutThreshold 2700 -UseDefaultMusicOnHold $true 

ライセンスの種類を取得する

Get-MgSubscribedSku

リソース アカウントを作成して割り当てる

通話キューは自動応答の背後に入れ子になっているので、電話番号はここで必要ありません。

  • ApplicationID
    • 自動応答: ce933385-9390-45d1-9512-c8d228074e07
    • 通話キュー: 11cd3e2e-fccb-42ad-ad00-878b93575e07

(PHONESYSTEM_VIRTUALUSER)後に表示されるライセンスの種類は、Get-MgSubscribedSku コマンドレットによって一覧表示されるライセンスの種類である必要があります。

New-CsOnlineApplicationInstance -UserPrincipalName Facilities-RA@contoso.com -DisplayName "Facilities" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "Facilities-RA@contoso.com" -UsageLocation US

Set-MgUserLicense -UserId "Facilities-RA@contoso.com" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "Facilities-RA@contoso.com").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Facilities").Identity

New-CsOnlineApplicationInstanceAssociation -Identities @($applicationInstanceID) -ConfigurationID $callQueueID -ConfigurationType CallQueue

Teams 自動応答と通話キューの計画

Microsoft Teams 電話で得られる内容は次のとおりです。

コマンドレットを使用して自動応答を作成する