Az MS Teams csevegési előzményeinek exportálása a PowerShell segítségével

Admin

Ebben a cikkben megvizsgáljuk, hogyan érheti el és exportálhatja a Microsoft Teams csevegési előzményeit a PowerShell használatával.

A Teams chatjeit rejtett helyen tároljuk Beszélgetés előzményei\Team Chat mappa a megosztott postafiók, amely automatikusan létrejön, amikor új Microsoft 365-csoportot hoz létre (ez azonnal létrehoz egy Teams-csoportot, egy webhelyet, egy SharePoint Online-könyvtárat, egy Yammer-csoportot stb.).

tudsz megakadályozza, hogy a Microsoft 365 bérlő felhasználói új Teams-csoportokat hozzanak létre.

A Teams csevegési előzményeivel védett mappát azonban nem érheti el az Outlook vagy más alkalmazás segítségével. tudsz exportálja az Exchange Online postafiók tartalmát egy PST-fájlba segítségével Tartalom kereséseban,-ben Biztonsági és megfelelőségi központot, majd csatlakoztassa a PST-fájlt az Outlookban. De nem túl kényelmes. Sokkal egyszerűbb a PowerShell használata a Teams csevegési üzeneteinek listájának lekéréséhez.

A Microsoft 365 bérlőhöz való csatlakozáshoz a Microsoft Graph API-t használjuk.

Korábban megmutattuk, hogyan kell üzenetet küldhet egy MS Teams-csevegésnek a PowerShell használatával és a Microsoft Graph API.
  1. Újat csinálni appTeamsView alkalmazás az Azure Portalban (Azure AD -> Alkalmazásregisztráció -> Új regisztráció);
  2. Másolja a következő értékeket:
    Alkalmazás (ügyfél) azonosító: your_app_ID
    Címtár (bérlő) azonosítója: your_tenant_ID
  3. Nyissa meg az API-engedélyeket, kattintson a Microsoft Graph -> Alkalmazásengedélyek -> Csatorna -> kijelölés lehetőségre Csatorna. Alapvető. Mindent olvas és ChannelMessage. Olvas.Minden. Adja hozzá az engedélycsoportot -> Csoport. Olvas. Minden. Adja meg ugyanazokat az engedélyeket Microsoft Graph -> Delegált engedélyek és be is Könyvtár. AccessAsUser. Minden.
  4. Kattintson Adminisztrátori hozzájárulás megadása…Adjon alkalmazásengedélyeket az Azure-ban
  5. Ezután hozzon létre egy titkot az alkalmazás eléréséhez. Menj Tanúsítványok és titkok -> Új ügyféltitkok, adja meg a kulcs nevét és érvényességi idejét.
    Másolja ki az értéket a Érték terület:
    Érték: your_secret
Hozzon létre titkot az Azure-alkalmazáshoz
Tudj meg többet hogyan lehet összekapcsolni a Microsoft Graph API-t a PowerShell-lel.

Ezután csatlakozhat a Microsoft Entra ID-hez (Azure AD) a PowerShellből, és hozzáférési jogkivonatot kaphat.

$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. 
Te tudod használni tanúsítvány alapú hitelesítés a Microsoft 365-ben a PowerShell-szkriptből.

Mostantól különféle adatokat szerezhet be Microsoft 365-bérlőjétől.

Sorolja fel a bérlő csapatait:

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

Ezután jelenítse meg a Csapatok csoport csatornáinak listáját annak azonosítójával:

# 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: Csatornák listázása egy csapatban

A következő PowerShell-szkriptet használhatja a Teams-csatornáról érkező üzenetek és válaszok listájának lekéréséhez:

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

Ez a szkript lekéri a beszélgetések listáját a megadott csatornáról, minden beszélgetéshez megkapja a válaszok listáját, és létrehoz egy HTML-fájlt a csevegés teljes tartalmával. A táblázatban a vitára adott válaszok tartalmazzák a kulcsmezőt RE.

Nézze meg a GitHub-tárhelyünket a szkriptkódhoz: https://github.com/maxbakhub/winposh/blob/main/teams/export_messages_teams_chat.ps1

Exportálja a Microsoft Teams csevegést html formátumba a PowerShell segítségével

A Teams felhasználói jelenléti állapotának lekérdezése és módosítása a PowerShell segítségével
A Teams felhasználói jelenléti állapotának lekérdezése és módosítása a PowerShell segítségével

Előfordulhat, hogy bizonyos integrációs szkripteknél bizonyos műveletek végrehajtása előtt ellenő...

A Teams felhasználói jelenléti állapotának lekérdezése és módosítása a PowerShell segítségével
A Teams felhasználói jelenléti állapotának lekérdezése és módosítása a PowerShell segítségével

Előfordulhat, hogy bizonyos integrációs szkripteknél bizonyos műveletek végrehajtása előtt ellenő...

Az MS Teams csevegési előzményeinek exportálása a PowerShell segítségével
Az MS Teams csevegési előzményeinek exportálása a PowerShell segítségével

Ebben a cikkben megvizsgáljuk, hogyan érheti el és exportálhatja a Microsoft Teams csevegési előz...