Kuinka viedä MS Teams -keskusteluhistoriaa PowerShellin avulla

Admin

Tässä artikkelissa tarkastellaan, kuinka pääset käsiksi ja viedään Microsoft Teamsin chat-keskustelujen historiaa PowerShellin avulla.

Teams-chatit tallennetaan piiloon Keskusteluhistoria\Tiimichat kansio a jaettu postilaatikko, joka luodaan automaattisesti, kun luot uuden Microsoft 365 -ryhmän (tämä luo välittömästi Teams-ryhmän, verkkosivuston, SharePoint Online -kirjaston, Yammer-ryhmän jne.).

Sinä pystyt estää Microsoft 365 -vuokraajan käyttäjiä luomasta uusia Teams-ryhmiä.

Et kuitenkaan voi käyttää suojattua kansiota Teamsin keskusteluhistorialla Outlookin tai muun sovelluksen avulla. Sinä pystyt viedä Exchange Online -postilaatikon sisällön PST-tiedostoon käyttämällä Sisältöhakuin Security and Compliance Center ja liitä sitten PST-tiedosto Outlookissa. Mutta se ei ole liian kätevä. PowerShellin käyttö on paljon helpompaa saada luettelo Teamsin chat-viesteistä.

Käytämme Microsoft Graph -sovellusliittymää muodostaaksemme yhteyden Microsoft 365 -vuokraajaan.

Aiemmin näytimme sinulle, miten lähettää viestin MS Teams -chatiin PowerShellin avulla ja Microsoft Graph API.
  1. Luoda uusi appTeamsView sovellus Azure Portalissa (Azure AD -> Sovelluksen rekisteröinti -> Uusi rekisteröinti);
  2. Kopioi seuraavat arvot:
    Sovelluksen (asiakkaan) tunnus: your_app_ID
    Hakemiston (vuokralaisen) tunnus: your_tenant_ID
  3. Siirry kohtaan API-oikeudet, napsauta Microsoft Graph -> Sovellusoikeudet -> Kanava -> valitse kanava. Perus. Lue kaikki ja Kanavaviesti. Lukea.Kaikki. Lisää käyttöoikeusryhmä -> Ryhmä. Lukea. Kaikki. Myönnä samat käyttöoikeudet sisään Microsoft Graph -> Delegoidut käyttöoikeudet ja myös sisään Hakemisto. AccessAsUser. Kaikki.
  4. Klikkaus Myönnä järjestelmänvalvojan suostumus…Myönnä sovelluksen käyttöoikeudet Azuressa
  5. Luo sitten salaisuus päästäksesi sovellukseen. Mene Sertifikaatit ja salaisuudet -> Uudet asiakassalaisuudet, määritä avaimen nimi ja sen voimassaoloaika.
    Kopioi arvo tiedostosta Arvo ala:
    Arvo: your_secret
Luo salaisuus Azure-sovellukselle
Lisätietoja: kuinka yhdistää Microsoft Graph API PowerShelliin.

Sitten voit muodostaa yhteyden Microsoft Entra ID: hen (Azure AD) PowerShellistä ja saada käyttöoikeustunnuksen.

$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. 
Voit käyttää varmenteeseen perustuva todennus Microsoft 365:ssä PowerShell-skriptistäsi.

Nyt voit saada erilaisia ​​tietoja Microsoft 365 -vuokraajaltasi.

Luettele vuokralaisensi tiimit:

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

Näytä sitten luettelo Teams-ryhmän kanavista sen tunnuksen mukaan:

# 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: Listaa ryhmän kanavat

Voit käyttää seuraavaa PowerShell-skriptiä saadaksesi luettelon viesteistä ja vastauksista Teams-kanavalta:

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

Tämä skripti hakee luettelon määritetyn kanavan keskusteluista, saa luettelon kunkin keskustelun vastauksista ja luo HTML-tiedoston, joka sisältää keskustelun koko sisällön. Taulukon vastaukset keskusteluun sisältävät avainkentän RE.

Katso tämä komentosarjakoodi GitHub-varastossamme: https://github.com/maxbakhub/winposh/blob/main/teams/export_messages_teams_chat.ps1

Vie Microsoft Teams -keskustelut html-muotoon PowerShellin avulla

Korjaa: "Jotain meni pieleen" -virhe tiimejä asennettaessa
Korjaa: "Jotain meni pieleen" -virhe tiimejä asennettaessa

Microsoft julkaisi äskettäin uuden WebView2-pohjaisen version MS Teams for Windowsista. Siirtymin...

Sähköpostin lähettäminen Microsoft Teams -kanavalle
Sähköpostin lähettäminen Microsoft Teams -kanavalle

Joissakin tapauksissa käyttäjien on ehkä lähetettävä tai välitettävä sähköposti Outlookin Saapune...

Kuinka poistaa Microsoft Teamsin automaattinen käynnistys käytöstä
Kuinka poistaa Microsoft Teamsin automaattinen käynnistys käytöstä

Oletuksena, kun asennat Office 365/Office 2019:n, kaikki Microsoft Office -sovellukset asennetaan...