Teams PowerShell 模組現在支援應用程式型驗證,並具有
- 商業 & GCC 環境中的 4.7.1-preview 版或更新版本。
- GCC High & DoD 環境中的 5.0.1 預覽版或更新版本。
支援的 Cmdlet
現在支援所有 Cmdlet,但下面提到的 Cmdlet 除外。
- New-Team
- Set-CsOnlineApplicationInstance
- [獲取|新|Sync]-CsOnlineApplicationInstance (僅在 GCC High & DoD 環境中不受支援)
- *保單包*
- *-CsTeamsShifts連線*
- *-CsBatchTeams部署*
- Set-CsTeamsSettingsCustomApp
- Get-MultiGeoRegion
- Get-AllM365TeamsApps
- [獲取|更新】-M365TeamsApp
- Get-M365UnifiedCustomPendingApps
- [獲取|Update]-M365UnifiedTenantSettings
- Update-M365UnifiedCustomPendingApp
範例
下列範例示範如何搭配 Microsoft Entra 應用程式型驗證使用 Teams PowerShell 模組:
使用憑證指紋連線:
Connect-MicrosoftTeams -CertificateThumbprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"當您使用 CertificateThumbprint 參數時,必須在您執行命令的電腦上安裝憑證。 憑證應該安裝在使用者憑證存放區中。
使用憑證物件連線:
Connect-MicrosoftTeams -Certificate <%X509Certificate2 object%> -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"當您使用 Certificate 參數時,不需要在執行命令的電腦上安裝憑證。 憑證可以遠端儲存 & 在執行指令碼時擷取。 憑證參數可從 Teams PowerShell 模組 4.9.2-preview 版或更新版本取得。
使用存取權杖連線:
存取權杖可透過 login.microsoftonline.com 端點擷取。 它需要兩個存取權杖 – 「MS Graph」和「Skype 和 Teams 租用戶管理員 API」資源。
$ClientSecret = "…" $ApplicationID = "00000000-0000-0000-0000-000000000000" $TenantID = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" $graphtokenBody = @{ Grant_Type = "client_credentials" Scope = "https://graph.microsoft.com/.default" Client_Id = $ApplicationID Client_Secret = $ClientSecret } $graphToken = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $graphtokenBody | Select-Object -ExpandProperty Access_Token $teamstokenBody = @{ Grant_Type = "client_credentials" Scope = "48ac35b8-9aa8-4d74-927d-1f4a14a0b239/.default" Client_Id = $ApplicationID Client_Secret = $ClientSecret } $teamsToken = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $teamstokenBody | Select-Object -ExpandProperty Access_Token Connect-MicrosoftTeams -AccessTokens @("$graphToken", "$teamsToken")
它是如何運作的?
Teams PowerShell 模組會使用應用程式識別碼、租用戶識別碼和憑證指紋來擷取應用程式型權杖。 在 Microsoft Entra ID 內佈建的應用程式物件已指派目錄角色,該角色會在存取權杖中傳回。 工作階段的角色型存取控制 (RBAC) 是使用權杖中可用的目錄角色資訊來設定。
設定應用程式型驗證
使用應用程式物件進行驗證需要初始上線。 應用程式和服務主體可以互換使用,但應用程式就像類別物件,而服務主體就像類別的實例。 您可以在 Microsoft Entra ID 中的應用程式和服務主體物件中深入瞭解這些物件。
下面提到了在 Microsoft Entra ID 中創建應用程序的示例步驟。 有關詳細步驟,請參閱 本文。
在 Microsoft Entra ID 中註冊應用程式。
將 API 權限指派給應用程式。
Cmdlet 需要 Microsoft 圖形 API 權限 * All Organization.Read.All非 *-Cs Cmdlet User.Read.All,Group.ReadWrite.All,AppCatalog.ReadWrite.All,TeamSettings.ReadWrite.All,Channel.Delete.All,ChannelSettings.ReadWrite.All,ChannelMember.ReadWrite.All所有 (只有在與管理單位一起使用時才會) RoleManagement.Read.Directory*-CsGroupPolicyAssignment、*-CsGroupPolicyPackageAssignment 只有在與系統管理單位搭配使用時 () GroupMember.Read.All備註
不需要為「Skype 和 Teams 租用戶管理員 API」設定任何 API 權限。 設定此權限可能會導致失敗。
產生自我簽署憑證。
將憑證附加至 Microsoft Entra 應用程式。
將 Microsoft Entra 角色指派給應用程式。 請參閱此 指派角色 程序,但搜尋應用程式而非使用者。
應用程式必須指派適當的 RBAC 角色。 由於應用程式是在 Microsoft Entra ID 中佈建的,因此您可以使用任何支援的內建角色。