Kuidas eksportida MS Teamsi vestluste ajalugu PowerShelliga

Admin

Selles artiklis vaatleme, kuidas pääseda juurde ja eksportida PowerShelli abil Microsoft Teamsi vestlusvestluste ajalugu.

Meeskondade vestlused salvestatakse peidetud kausta Vestluste ajalugu\Meeskonnavestlus kaustas a jagatud postkast, mis luuakse automaatselt, kui loote uue Microsoft 365 rühma (see loob koheselt Teamsi rühma, veebisaidi, SharePoint Online'i teegi, Yammeri rühma jne).

Sa saad takistada Microsoft 365 rentniku kasutajatel uusi Teamsi rühmi looma.

Siiski ei pääse te Outlooki või mõne muu rakendusega Teamsi vestlusajalooga kaitstud kausta juurde. Sa saad eksportida Exchange Online'i postkasti sisu PST-faili kasutades Sisu otsingaastal Turva- ja vastavuskeskus ja seejärel ühendage Outlookis PST-fail. Kuid see pole liiga mugav. Teamsi vestlussõnumite loendi hankimiseks on PowerShelli kasutamine palju lihtsam.

Microsoft 365 rentnikuga ühenduse loomiseks kasutame Microsoft Graphi API-t.

Varem näitasime teile, kuidas seda teha saatke PowerShelli abil sõnum MS Teamsi vestlusesse ja Microsoft Graph API.
  1. Loo uus appTeamsView rakendus Azure'i portaalis (Azure AD -> Rakenduse registreerimine -> Uus registreerimine);
  2. Kopeerige järgmised väärtused:
    Rakenduse (kliendi) ID: your_app_ID
    Kataloogi (üürniku) ID: your_tenant_ID
  3. Avage API õigused, klõpsake Microsoft Graph -> Rakenduse õigused -> Kanal -> valige Kanal. Põhiline. Loe kõik ja Kanali sõnum. Lugege.Kõik. Lisage lubade rühm -> Grupp. Lugege. Kõik. Andke sisse samad õigused Microsoft Graph -> Delegeeritud õigused ja ka sisse Kataloog. AccessAsUser. Kõik.
  4. Klõpsake Andke administraatori nõusolek…Andke Azure'is rakendusele load
  5. Seejärel looge rakendusele juurdepääsuks saladus. Minema Sertifikaadid ja saladused -> Uued kliendi saladused, määrake võtme nimi ja selle kehtivusaeg.
    Kopeerige väärtus failist Väärtus väli:
    Väärtus: your_secret
Looge Azure'i rakenduse jaoks saladus
Lisateavet kuidas ühendada Microsoft Graph API PowerShelliga.

Seejärel saate PowerShellist ühenduse luua Microsoft Entra ID-ga (Azure AD) ja hankida juurdepääsuluba.

$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. 
Sa võid kasutada sertifikaadipõhine autentimine Microsoft 365-s oma PowerShelli skriptist.

Nüüd saate oma Microsoft 365 rentnikult erinevaid andmeid.

Loetlege oma rentniku meeskonnad:

#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. 

Seejärel kuvage rühmas Teams kanalite loend selle ID järgi:

# 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: loetlege meeskonna kanalid

Teamsi kanalilt sõnumite ja vastuste loendi hankimiseks saate kasutada järgmist PowerShelli skripti.

$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. 

See skript hangib määratud kanali vestluste loendi, iga vestluse vastuste loendi ja genereerib vestluse täieliku sisuga HTML-faili. Tabeli vastused arutelule sisaldavad võtmevälja RE.

Selle skriptikoodi leiate meie GitHubi hoidlast: https://github.com/maxbakhub/winposh/blob/main/teams/export_messages_teams_chat.ps1

Eksportige Microsoft Teamsi vestlus PowerShelli abil html-vormingusse

Kuidas teha PowerShelli abil päringuid ja muuta Teamsi kasutaja kohaloleku olekut
Kuidas teha PowerShelli abil päringuid ja muuta Teamsi kasutaja kohaloleku olekut

Enne teatud toimingu sooritamist mõne integreerimisskripti puhul võib olla vajalik kontrollida ka...

Kuidas teha PowerShelli abil päringuid ja muuta Teamsi kasutaja kohaloleku olekut
Kuidas teha PowerShelli abil päringuid ja muuta Teamsi kasutaja kohaloleku olekut

Enne teatud toimingu sooritamist mõne integreerimisskripti puhul võib olla vajalik kontrollida ka...

Kuidas eksportida MS Teamsi vestluste ajalugu PowerShelliga
Kuidas eksportida MS Teamsi vestluste ajalugu PowerShelliga

Selles artiklis vaatleme, kuidas pääseda juurde ja eksportida PowerShelli abil Microsoft Teamsi v...