Kā eksportēt MS Teams tērzēšanas vēsturi, izmantojot PowerShell

Admin

Šajā rakstā mēs apskatīsim, kā piekļūt Microsoft Teams tērzēšanas sarunu vēsturei un eksportēt to, izmantojot PowerShell.

Teams tērzēšanas sarunas tiek glabātas slēptā vietā Sarunu vēsture\Komandas tērzēšana mapē a koplietota pastkaste, kas tiek automātiski izveidota, kad veidojat jaunu Microsoft 365 grupu (tādējādi uzreiz tiks izveidota Teams grupa, vietne, SharePoint Online bibliotēka, Yammer grupa utt.).

Jūs varat neļaut Microsoft 365 nomnieka lietotājiem izveidot jaunas Teams grupas.

Tomēr aizsargātajai mapei ar Teams tērzēšanas vēsturi nevar piekļūt, izmantojot programmu Outlook vai citu programmu. Jūs varat eksportēt Exchange Online pastkastes saturu uz PST failu izmantojot Satura meklēšanaiekš Drošības un atbilstības centrs un pēc tam pievienojiet PST failu programmā Outlook. Bet tas nav pārāk ērti. Ir daudz vienkāršāk izmantot PowerShell, lai iegūtu Teams tērzēšanas ziņojumu sarakstu.

Lai izveidotu savienojumu ar Microsoft 365 nomnieku, mēs izmantosim Microsoft Graph API.

Iepriekš mēs jums parādījām, kā to izdarīt
nosūtiet ziņojumu uz MS Teams tērzēšanu, izmantojot PowerShell un Microsoft Graph API.
  1. Izveidojiet jaunu appTeamsView lietotne Azure portālā (Azure AD -> Lietotņu reģistrācija -> Jauna reģistrācija);
  2. Kopējiet šādas vērtības:
    Lietojumprogrammas (klienta) ID: your_app_ID
    Direktorija (īrnieka) ID: your_tenant_ID
  3. Dodieties uz API atļaujas, noklikšķiniet uz Microsoft Graph -> Lietojumprogrammas atļaujas -> Kanāls -> atlasiet Kanāls. Pamata. Lasīt visu un Kanāla ziņojums. Lasīt.Visi. Pievienojiet atļauju grupu -> Grupa. Lasīt. Visi. Piešķiriet tādas pašas atļaujas Microsoft Graph -> Deleģētās atļaujas un arī iekšā Katalogs. AccessAsUser. Visi.
  4. Klikšķis Piešķirt administratora piekrišanu…Piešķiriet lietotņu atļaujas pakalpojumā Azure
  5. Pēc tam izveidojiet noslēpumu, lai piekļūtu lietotnei. Iet uz Sertifikāti un noslēpumi -> Jauni klienta noslēpumi, norādiet atslēgas nosaukumu un tā derīguma termiņu.
    Kopējiet vērtību no Vērtība lauks:
    Vērtība: your_secret
Izveidojiet Azure lietotnes noslēpumu
Uzziniet vairāk par kā savienot Microsoft Graph API ar PowerShell.

Pēc tam varat izveidot savienojumu ar Microsoft Entra ID (Azure AD) no PowerShell un iegūt piekļuves pilnvaru.

$clientId = "your_app_ID"
$tenantName = "yourtenant.onmicrosoft.com"
$clientSecret = "your_secret"
$resource = "https://graph.microsoft.com/"
$Username = "[email protected]"
$Password = "yourpassword"
$ReqTokenBody = @{ Grant_Type = "Password" client_Id = $clientID Client_Secret = $clientSecret Username = $Username Password = $Password Scope = "https://graph.microsoft.com/.default"
}
$TokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token" -Method POST -Body $ReqTokenBody. 
Tu vari izmantot uz sertifikātu balstīta autentifikācija pakalpojumā Microsoft 365 no jūsu PowerShell skripta.

Tagad varat iegūt dažādus datus no sava Microsoft 365 nomnieka.

Uzskaitiet komandas savā īrniekā:

#Getting all Teams. $header= @{Authorization = "Bearer $($TokenResponse.access_token)"}
$BaseURI = "https://graph.microsoft.com/beta"
$AllMicrosoftTeams = (Invoke-RestMethod -Uri "$($BaseURI)/groups?'$filter=resourceProvisioningOptions/Any(x: x eq 'Team')" -Headers $header -Method Get -ContentType "application/json").value. $AllMicrosoftTeams| FT id, DisplayName, Description. 

Pēc tam parādiet kanālu sarakstu grupā Teams pēc tā ID:

# List channels in Team. $TeamsID="your_team_id"
$TeamsChannels = (Invoke-RestMethod -Uri "$($BaseURI)/teams/$($TeamsID)/channels" -Headers $Header -Method Get -ContentType "application/json").value. $TeamsChannels | FT id, DisplayName, Description
PowerShell: uzskaitiet kanālus komandā

Varat izmantot šo PowerShell skriptu, lai iegūtu ziņojumu un atbilžu sarakstu no Teams kanāla:

$ChannelID="your_chat_id "
$Header =@{Authorization = "Bearer $($Tokenresponse.access_token)"} $apiUrl = "https://graph.microsoft.com/beta/teams/$TeamsID/channels/$ChannelID/messages"
$Data = Invoke-RestMethod -Uri $apiUrl -Headers $header -Method Get. $Messages = ($Data | Select-Object Value).Value. class messageData. { [string]$dateTime [string]$from [string]$body [string]$re messageData() { $this.dateTime = "" $this.from = "" $this.body = "" $this.re = "" }
}
$messageSet = New-Object System.Collections.ArrayList; foreach ($message in $Messages)
{ $result = New-object messageData $result.DateTime=Get-Date -Date (($message).createdDateTime) -Format 'yyyy/MM/dd HH: mm' $result.from = $message.from.user.displayName $result.body = $message.body.content $messageSet.Add($result) #parsing replies $repliesURI = "https://graph.microsoft.com/beta/teams/" + $TeamsID + "/channels/" + $ChannelID + "/messages/" + $message.ID + "/replies?`$top100" $repliesResponse = Invoke-RestMethod -Method Get -Uri $repliesURI -Headers $header foreach ($reply in $repliesResponse.value) { $replyData = New-Object messageData $replyData.dateTime = Get-Date -Date (($reply).createdDateTime) -Format 'yyyy/MM/dd HH: mm' $replyData.from = $reply.from.user.displayName $replyData.body= $reply.body.content $replyData.re="RE" $messageSet.Add($replyData) } }
$messageSet|ConvertTo-Html | Out-File c:\ps\teams_chat_history.html -Encoding utf8. 

Šis skripts iegūst sarunu sarakstu no norādītā kanāla, katrai sarunai atbilžu sarakstu un ģenerē HTML failu ar pilnu tērzēšanas saturu. Atbildes uz diskusiju tabulā satur atslēgas lauku RE.

Apskatiet mūsu GitHub krātuvi šim skripta kodam: https://github.com/maxbakhub/winposh/blob/main/teams/export_messages_teams_chat.ps1

Eksportējiet Microsoft Teams tērzēšanu uz html, izmantojot PowerShell

Kā atspējot Microsoft Teams automātisko startēšanu
Kā atspējot Microsoft Teams automātisko startēšanu

Pēc noklusējuma, instalējot Office 365/Office 2019, tiek instalētas visas Microsoft Office progra...

Kā nosūtīt ziņojumu Teams kanālam, izmantojot PowerShell
Kā nosūtīt ziņojumu Teams kanālam, izmantojot PowerShell

Varat nosūtīt ziņojumus uz Teams kanāliem no PowerShell, izmantojot tīmekļa aizķeres vai Microsof...

Microsoft Teams pārvaldība, izmantojot PowerShell
Microsoft Teams pārvaldība, izmantojot PowerShell

The Microsoft Teams PowerShell modulis ir paredzēts, lai pārvaldītu komandas no komandrindas. Var...