{"id":916715,"date":"2026-10-29T17:11:43","date_gmt":"2026-10-29T17:11:43","guid":{"rendered":"https:\/\/www.ninjaone.com\/blog\/audit-microsoft-teams-powershell\/"},"modified":"2026-10-29T17:11:45","modified_gmt":"2026-10-29T17:11:45","slug":"audit-microsoft-teams-powershell","status":"publish","type":"post","link":"https:\/\/www.ninjaone.com\/it\/blog\/audit-microsoft-teams-powershell\/","title":{"rendered":"Come eseguire l\u2019audit dei canali di Microsoft Teams con PowerShell"},"content":{"rendered":"<div class=\"in-context-cta\"><h2>Punti chiave<\/h2>\n<ul>\n<li>Crea un inventario completo di team e canali con i cmdlet PowerShell nativi per una visibilit\u00e0 accurata e in tempo reale.<\/li>\n<li>Estrai dai log di audit di Microsoft Purview la cronologia di creazione e modifica dei canali come prova di conformit\u00e0.<\/li>\n<li>Analizza l\u2019utilizzo dello spazio di archiviazione tramite l\u2019API Graph per individuare punti critici dei dati e andamenti di crescita.<\/li>\n<li>Correla inventario, audit e dati di archiviazione per segnalare i problemi ad alto rischio, come i canali inattivi di grandi dimensioni.<\/li>\n<li>Mantieni una pianificazione automatizzata e la conservazione delle prove per dimostrare un monitoraggio continuo della conformit\u00e0.<\/li>\n<li>Rendi operativi i risultati indirizzando i problemi ai flussi di lavoro di risoluzione e generando report di governance.<\/li>\n<\/ul>\n<\/div>\n<p>Una crescita incontrollata di Microsoft Teams pu\u00f2 generare <a href=\"https:\/\/www.ninjaone.com\/it\/blog\/proteggere-configurazioni-di-sicurezza\/\">lacune di sicurezza<\/a> e problemi di conformit\u00e0 quando i canali si moltiplicano senza un controllo adeguato. Un <strong>audit di Teams<\/strong> sistematico, basato sugli strumenti PowerShell nativi, porta alla luce questi rischi nascosti e allinea l\u2019ambiente di collaborazione ai criteri di conservazione.<\/p>\n<p>Questa guida ti accompagna nella creazione di un processo di audit ripetibile che unisce inventario dei canali, log delle attivit\u00e0 e analisi dello spazio di archiviazione per una governance continua.<\/p>\n<h2>Come usare PowerShell per l\u2019audit di Microsoft Teams<\/h2>\n<p>Gli audit periodici con PowerShell offrono una <a href=\"https:\/\/www.ninjaone.com\/it\/script-hub\/automatizzare-le-installazioni-di-office-365-2\/\">visibilit\u00e0 essenziale sull\u2019ambiente Teams<\/a> in termini di sicurezza e gestione.<\/p>\n<p>\ud83d\udccc<strong>Situazione d\u2019uso: <\/strong>esegui gli audit durante le verifiche di conformit\u00e0, dopo un incidente di sicurezza, prima di una migrazione o quando devi affrontare la proliferazione dei canali. \u00c8 particolarmente utile per gli MSP che gestiscono pi\u00f9 tenant di clienti diversi.<\/p>\n<p>\ud83d\udccc<strong>Prerequisiti:<\/strong> prima di procedere, assicurati di disporre di quanto segue:<\/p>\n<ul>\n<li>Modulo PowerShell di Microsoft Teams con autorizzazioni di amministratore<\/li>\n<li>Accesso ai log di audit di Microsoft Purview<\/li>\n<li>PowerShell 7 su Windows 11 e un archivio sicuro per le esportazioni<\/li>\n<li>Facoltativo: autorizzazioni Graph per il reporting sullo spazio di archiviazione<\/li>\n<\/ul>\n<p>Una volta pronti questi elementi, segui i passaggi riportati di seguito.<\/p>\n<h3>Passaggio 1: elenca team e canali<\/h3>\n<p>Inizia l\u2019audit di Microsoft Teams creando un inventario completo di tutti i team e i canali.<\/p>\n<ol>\n<li>Connettiti a <strong>Teams PowerShell <\/strong>ed esporta tutti i team:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\"><code>Connect-MicrosoftTeams<\/code><br \/>\n<code>Get-Team | Select-Object DisplayName, GroupId, Visibility | Export-CSV \"C:\\TeamsAudit\\AllTeams.csv\" -NoTypeInformation<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Questo comando si connette all\u2019ambiente Teams e raccoglie in un file CSV tutti i dettagli essenziali, come nome del team, ID univoco e impostazioni di privacy. Ricordati di sostituire il percorso file di esempio, <strong>C:\\TeamsAudit\\AllTeams.csv<\/strong>, con il tuo<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ol start=\"2\">\n<li>Elenca tutti i canali e classificane le tipologie (ad esempio standard, privato, condiviso):<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\"><code>$AllTeams = Get-Team<\/code><br \/>\n<code>foreach ($Team in $AllTeams) {<\/code><br \/>\n<code>Get-TeamChannel -GroupId $Team.GroupId | Select-Object TeamName, DisplayName, MembershipType, Description | Export-CSV \"C:\\TeamsAudit\\AllChannels.csv\" -Append -NoTypeInformation<\/code><br \/>\n<code>}<\/code><\/p>\n<ol start=\"3\">\n<li>Per i canali privati, rileva i proprietari in modo da individuare gli spazi orfani con <strong>Get-TeamChannelUser<\/strong>.<\/li>\n<\/ol>\n<p>Questo metodo utilizza cmdlet PowerShell nativi per ottenere dati accurati e in tempo reale sull\u2019ambiente Teams. Al termine avrai una base di partenza per l\u2019analisi dello spazio di archiviazione e il monitoraggio delle attivit\u00e0.<\/p>\n<h3>Passaggio 2: estrai le attivit\u00e0 dei canali dai log di audit di Microsoft Purview<\/h3>\n<p>I <a href=\"https:\/\/learn.microsoft.com\/en-us\/purview\/audit-search\" target=\"_blank\" rel=\"noopener\">log di audit<\/a> forniscono prove fondamentali su chi ha creato, modificato o eliminato i canali di Teams e in quale momento.<\/p>\n<ol>\n<li>Connettiti a <strong>Exchange Online<\/strong> e cerca le <strong>attivit\u00e0 dei canali di Teams<\/strong>:\n<ol style=\"list-style-type: lower-alpha;\">\n<li>Installa il modulo, se non \u00e8 gi\u00e0 presente:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 80px;\"><code>Install-Module ExchangeOnlineManagement -Scope CurrentUser -Force<\/code><\/p>\n<ol start=\"2\">\n<li style=\"list-style-type: none;\">\n<ol start=\"2\" style=\"list-style-type: lower-alpha;\">\n<li>Connettiti a PowerShell di Microsoft Purview (Compliance):<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 80px;\"><code>Connect -IPPSSession<\/code><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol start=\"3\" style=\"list-style-type: lower-alpha;\">\n<li>Estrai gli eventi di audit dei canali di Teams degli ultimi 30 giorni:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 80px;\"><code>$AuditResults = Search-UnifiedAuditLog '<\/code><br \/>\n<code>-StartDate (Get-Date).AddDays (-30) '<\/code><br \/>\n<code>-EndDate (Get-Date) '<\/code><br \/>\n<code>-RecordType MicrosoftTeams '<\/code><br \/>\n<code>-Operations \"ChannelCreated\",\"ChannelUpdated\",\"ChannelDeleted\" '<\/code><br \/>\n<code>-ResultSize 5000<\/code><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol start=\"4\" style=\"list-style-type: lower-alpha;\">\n<li>Esporta i risultati per l\u2019analisi:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 80px;\"><code>$AuditResults |<\/code><br \/>\n<code>Select-Object CreationDate, UserIds, Operations, AuditData |<\/code><br \/>\n<code>Export-Csv \"C:\\TeamsAudit\\ChannelActivities.csv\" -NoTypeInformation<\/code><\/p>\n<p style=\"padding-left: 80px;\"><code>Write-Host \"Audit export complete. File saved to \"C:\\TeamsAudit\\ChannelActivities.csv\"<\/code><\/p>\n<ol start=\"2\">\n<li>Esporta i dati di audit rilevanti per l\u2019analisi:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\"><code>$AuditResults | Select-Object CreationDate, UserIds, Operations, AuditData | Export-CSV \"C:\\TeamsAudit\\ChannelActivities.csv\" -NoTypeInformation<\/code><\/p>\n<ol start=\"3\">\n<li>Documenta i parametri di ricerca, l\u2019intervallo temporale e il numero di risultati come prova di conformit\u00e0.<\/li>\n<\/ol>\n<p>Questo metodo interroga il log di audit unificato di Microsoft, che registra automaticamente tutti gli eventi del ciclo di vita dei canali nel tenant. Usa questo approccio quando devi indagare su incidenti specifici o dimostrare la conformit\u00e0 ai criteri di governance dei dati.<\/p>\n<p>Dopo l\u2019estrazione avrai un registro con marca temporale di tutte le modifiche ai canali, pronto per essere correlato all\u2019inventario dei team e completare la documentazione della pista di audit.<\/p>\n<h3>Passaggio 3: aggiungi il contesto dello spazio di archiviazione con l\u2019API Graph<\/h3>\n<p>Capire come viene utilizzato lo spazio di archiviazione completa l\u2019audit di Teams, perch\u00e9 mette in evidenza i punti critici dei dati e gli andamenti di crescita.<\/p>\n<ol>\n<li>Crea una <strong>registrazione app in Azure<\/strong> con le autorizzazioni applicative Sites.Read.All.<\/li>\n<li>Connettiti a <strong>Microsoft Graph<\/strong> e recupera le metriche di archiviazione:\n<ul>\n<li>Installa il modulo <strong>Microsoft Graph <\/strong>se non \u00e8 presente:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 80px;\"><code>if (-not (Get-Module -ListAvailable -Name Microsoft.Graph)) {<\/code><br \/>\n<code>Install-Module Microsoft.Graph -Scope CurrentUser -Force<\/code><br \/>\n<code>}<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Connettiti a <strong>Microsoft Graph (solo app, certificato)<\/strong>:<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 80px;\"><code>Connect-MgGraph -ClientId \"your-client-id\" -TenantId \"your-tenant-id\" -CertificateThumbprint \"your-cert-thumbprint\" | Out-Null<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Recupera tutti i <strong>gruppi di Microsoft 365 abilitati per Teams<\/strong>:<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 80px;\"><code>$teams = Get-MgGroup -All | Where-Object { $_.ResourceProvisioningOptions -contains \"Team\" }<\/code><br \/>\n<code>$results = New-Object System.Collections.Generic.List[object]<\/code><br \/>\n<code>foreach ($team in $teams) {<\/code><br \/>\n<code>try {<\/code><br \/>\n<code>$drive = Get-MgGroupDrive -GroupId $team.Id<\/code><br \/>\n<code>$site = Get-MgGroupSite -GroupId $team.Id | Select-Object -First 1<\/code><br \/>\n<code>$usedPercent = if ($drive?.Quota?.Total) { [math]::Round(($drive.Quota.Used \/ $drive.Quota.Total) * 100, 2) } else { $null }<\/code><br \/>\n<code>$results.Add([PSCustomObject]@{<\/code><br \/>\n<code>TeamName = $team.DisplayName<\/code><br \/>\n<code>SiteUrl = $site?.WebUrl<\/code><br \/>\n<code>TotalBytes = $drive?.Quota?.Total<\/code><br \/>\n<code>UsedBytes = $drive?.Quota?.Used<\/code><br \/>\n<code>UsedPercent = $usedPercent<\/code><br \/>\n<code>State = $drive?.Quota?.State<\/code><br \/>\n<code>})<\/code><br \/>\n<code>}<\/code><br \/>\n<code>catch {<\/code><br \/>\n<code>$results.Add([PSCustomObject]@{<\/code><br \/>\n<code>TeamName = $team.DisplayName<\/code><br \/>\n<code>SiteUrl = $null<\/code><br \/>\n<code>TotalBytes = $null<\/code><br \/>\n<code>UsedBytes = $null<\/code><br \/>\n<code>UsedPercent = $null<\/code><br \/>\n<code>State = \"error: $($_.Exception.Message)\"<\/code><br \/>\n<code>})<\/code><br \/>\n<code>}<\/code><br \/>\n<code>}<\/code><br \/>\n<code>$exportFolder = \"C:\\TeamsAudit\"<\/code><br \/>\n<code>if (-not (Test-Path $exportFolder)) { New-Item -Path $exportFolder -ItemType Directory | Out-Null }<\/code><br \/>\n<code>$csvPath = Join-Path $exportFolder \"TeamStorage.csv\"<\/code><br \/>\n<code>$results | Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8<\/code><br \/>\n<code>Write-Host \"Storage metrics export complete: $csvPath\"<\/code><\/p>\n<ol start=\"3\">\n<li>Esporta i dati di archiviazione dei canali, inclusi gli URL di SharePoint e le metriche di utilizzo, per individuare crescite rapide o conflitti con i criteri di conservazione.<\/li>\n<\/ol>\n<p>Questo metodo interroga lo spazio di archiviazione SharePoint sottostante che alimenta ogni canale di Teams, fornendo dati dimensionali accurati anche quando un canale viene rinominato. Usa questo approccio quando devi analizzare i costi di archiviazione, pianificare migrazioni o individuare archivi.<\/p>\n<p>Unire le metriche di archiviazione agli eventi di audit crea un sistema di prioritizzazione efficace per i canali da rivedere e completa il flusso di lavoro di reporting sui canali di Teams.<\/p>\n<h3>Passaggio 4: correla i dati e segnala i problemi<\/h3>\n<p>Correlare i risultati dell\u2019audit trasforma i dati grezzi in indicazioni concrete per la gestione dei canali di Teams.<\/p>\n<ol>\n<li>Unisci inventario, eventi di audit e dati di archiviazione usando l\u2019ID del team e i nomi dei canali come chiavi primarie.<\/li>\n<li>Segnala le condizioni ad alto rischio con i filtri di <strong>PowerShell<\/strong>:\n<ol style=\"list-style-type: lower-alpha;\">\n<li>Individua i canali inattivi che occupano molto spazio:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 80px;\"><code>$InactiveLargeChannels = $ChannelData | Where-Object {<\/code><br \/>\n<code>$_.LastActivity -lt (Get-Date).AddDays(-90) -and $_.StorageUsed -gt 1GB<\/code><br \/>\n<code>}<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Questo script individua i canali rimasti inattivi negli ultimi 90 giorni che occupano comunque pi\u00f9 di 1 GB di spazio.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol start=\"2\" style=\"list-style-type: lower-alpha;\">\n<li>Individua i canali con attivit\u00e0 di creazione\/eliminazione frequenti:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 80px;\"><code>$VolatileChannels = $AuditResults | Group-Object ChannelId | Where-Object Count -gt 10<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Questo codice raggruppa gli eventi di audit per canale e segnala i canali con pi\u00f9 di 10 eventi registrati, evidenziando quelli che subiscono modifiche insolitamente frequenti.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ol start=\"3\">\n<li>Assegna un responsabile della risoluzione e una data di scadenza per ogni problema segnalato.<\/li>\n<\/ol>\n<p>Questa correlazione incrocia pi\u00f9 fonti di dati per far emergere schemi che un\u2019analisi a una sola dimensione non rileverebbe. Usa questo approccio quando ti prepari a un audit di conformit\u00e0 o quando introduci una governance proattiva.<\/p>\n<p>Al termine della correlazione avrai un elenco di problemi dei canali ordinato per priorit\u00e0 e con responsabilit\u00e0 chiare, cos\u00ec da poter procedere a una risoluzione sistematica e mantenere nel tempo la conformit\u00e0 dell\u2019audit di Microsoft Teams.<\/p>\n<h3>Passaggio 5: esporta, pianifica e conserva le prove<\/h3>\n<p>Una documentazione adeguata trasforma l\u2019audit da controllo una tantum a strategia di conformit\u00e0 continua.<\/p>\n<ol>\n<li>Esporta report standardizzati che includano contesto del tenant, data dell\u2019audit e risultati:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\"><code>$ExportData = [PSCustomObject]@{<\/code><br \/>\n<code>Tenant = \"Contoso\"<\/code><br \/>\n<code>AuditDate = Get-Date -Format \"yyyy-MM-dd\"<\/code><br \/>\n<code>TeamsCount = $AllTeams.Count<\/code><br \/>\n<code>ChannelsCount = $AllChannels.Count<\/code><br \/>\n<code>IssuesFlagged = $FlaggedIssues.Count<\/code><br \/>\n<code>}<\/code><br \/>\n<code>$ExportData | Export-CSV \"C:\\TeamsAudit\\AuditSummary_$(Get-Date -Format 'yyyyMMdd').csv\" -NoTypeInformation<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Questo codice crea un riepilogo dell\u2019audit su una sola riga (nome del tenant, data dell\u2019audit, numero di team, numero di canali e numero di problemi segnalati) e lo salva nel file C:\\TeamsAudit\\AuditSummary_YYYYMMDD.csv.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ol start=\"2\">\n<li>Mantieni log di esecuzione che tracciano tempi di esecuzione, numero di record ed errori.<\/li>\n<li>Pianifica esecuzioni automatizzate con l\u2019<strong>Utilit\u00e0 di pianificazione<\/strong> di Windows o con il tuo <strong>strumento RMM<\/strong>:\n<ul>\n<li>Scansioni settimanali dell\u2019inventario<\/li>\n<li>Estrazioni di audit complete su base mensile<\/li>\n<li>Conservazione minima di 12 mesi per tutti gli artefatti<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Questo approccio sistematico produce prove datate e versionate che dimostrano un monitoraggio continuo della conformit\u00e0. Usa questo metodo quando ti prepari ad audit normativi o quando implementi una governance di lungo periodo.<\/p>\n<p>Una volta implementato, disporrai di una pista di audit verificabile che soddisfa i requisiti di conformit\u00e0 e fornisce dati storici per l\u2019analisi degli andamenti e la pianificazione delle capacit\u00e0.<\/p>\n<h3>Passaggio 6: agisci sui risultati dell\u2019audit<\/h3>\n<p>Trasformare i risultati dell\u2019audit in flussi di lavoro concreti fa s\u00ec che la gestione dei canali di Microsoft Teams porti un valore reale al business.<\/p>\n<ol>\n<li>Indirizza gli elementi segnalati ai team competenti:\n<ul>\n<li>Proliferazione dei canali &gt; flusso di lavoro di pulizia<\/li>\n<li>Lacune nella conservazione &gt; team di revisione delle policy<\/li>\n<li>Canali inattivi di grandi dimensioni &gt; processo di archiviazione<\/li>\n<\/ul>\n<\/li>\n<li>Crea un processo di apertura ticket per i canali senza proprietario, individuando i problemi critici.<\/li>\n<li>Documenta risoluzioni ed eccezioni nei report di governance mensili destinati alla direzione.<\/li>\n<\/ol>\n<p>Questa fase operativa integra i risultati dell\u2019audit nei flussi di lavoro IT esistenti, garantendo che i problemi vengano assegnati e monitorati e non semplicemente rilevati. Usa questo approccio quando imposti una governance continuativa o quando devi dimostrare la conformit\u00e0 agli stakeholder.<\/p>\n<p>Una volta implementato, chiuderai il ciclo dell\u2019audit con risoluzioni documentate, trasformando i dati grezzi in miglioramenti misurabili nella gestione dell\u2019ambiente Teams.<\/p>\n<h2>Rendi operativo l\u2019audit di Microsoft Teams con l\u2019automazione di NinjaOne<\/h2>\n<p>NinjaOne trasforma il tuo flusso di lavoro di audit in PowerShell in una soluzione automatizzata e pronta per contesti enterprise.<\/p>\n<ol>\n<li>Distribuisci e pianifica gli script di audit tramite la <a href=\"https:\/\/www.ninjaone.com\/docs\/administration\/script-library\/\">libreria di automazione di NinjaOne<\/a>.<\/li>\n<li>Conserva le credenziali in modo sicuro con la <a href=\"https:\/\/www.ninjaone.com\/it\/rmm\/gestore-di-password\/\">gestione delle credenziali di NinjaOne<\/a> per l\u2019accesso degli account di servizio.<\/li>\n<li>Configura attivatori automatici di ticket per:\n<ul>\n<li>Canali senza proprietario che richiedono un\u2019assegnazione<\/li>\n<li>Canali inattivi di grandi dimensioni da archiviare<\/li>\n<li>Modifiche frequenti alla configurazione che indicano instabilit\u00e0<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Questa integrazione sfrutta la capacit\u00e0 di NinjaOne di inviare script agli endpoint e di archiviare le credenziali in modo sicuro, eliminando gli interventi manuali e mantenendo integra la pista di audit. Usa questo approccio quando gestisci Teams su pi\u00f9 clienti o quando serve un reporting di livello dirigenziale.<\/p>\n<div class=\"quick-start-guide\"><h2><svg width=\"45\" height=\"45\" viewBox=\"0 0 45 45\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M41.4822 0H3.51778C1.57496 0 0 1.57496 0 3.51778V41.4822C0 43.425 1.57496 45 3.51778 45H41.4822C43.425 45 45 43.425 45 41.4822V3.51778C45 1.57496 43.425 0 41.4822 0Z\" fill=\"#053856\"\/>\n<path d=\"M30.4399 13.9904C28.9161 12.4475 26.9127 11.6737 24.4346 11.6737C23.0721 11.6737 21.8188 11.911 20.6794 12.3858C19.5401 12.8605 18.5859 13.5346 17.8168 14.4129V11.2654L12.2766 13.867V32.562H18.0779V22.4739C18.0779 20.6224 18.5099 19.2267 19.3787 18.2867C20.2474 17.3515 21.4105 16.8815 22.8727 16.8815C24.1877 16.8815 25.1894 17.285 25.8825 18.0968C26.5756 18.9086 26.9222 20.1334 26.9222 21.7808V32.562H32.7234V21.2728C32.7234 18.2393 31.9591 15.5285 30.4399 13.9856V13.9904Z\" fill=\"#04FF88\"\/>\n<\/svg>Guida rapida<\/h2><p>NinjaOne pu\u00f2 eseguire l\u2019audit dei canali di Microsoft Teams tramite PowerShell. Ecco come:<\/p>\n<ol>\n<li><b>Installa i moduli necessari<\/b>:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\">Assicurati di avere installato i moduli PowerShell <code>MicrosoftTeams<\/code> e <code>ExchangeOnlineManagement<\/code>.<\/p>\n<ol start=\"2\">\n<li><b>Connettiti a Microsoft 365<\/b>:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\"><code>powershell<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Connect-MicrosoftTeams<\/code><\/p>\n<ol start=\"3\">\n<li><b>Recupera i log di audit<\/b>:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\">Usa il cmdlet <code>Search-UnifiedAuditLog<\/code> per recuperare i record di audit relativi alle attivit\u00e0 dei canali di Teams:<\/p>\n<p style=\"padding-left: 40px;\"><wbr\/><code>powershell<br \/>\n<wbr\/> $auditRecords = Search-UnifiedAuditLog -StartDate \"2023-01-01\" -EndDate \"2023-12-31\" -Activity \"ChannelCreated\"<\/code><\/p>\n<ol start=\"4\">\n<li><wbr\/><b>Filtra ed esporta i dati<\/b>:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\">Filtra i risultati per ottenere i dettagli sulle creazioni dei canali ed esportali in un file CSV:<\/p>\n<p style=\"padding-left: 40px;\"><wbr\/><code>powershell<br \/>\n \u00a0<wbr\/> <\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>$auditRecords | Select-Object <\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>@{Name='ChannelName';Expression={$_.Parameters['ChannelName']}},<br \/>\n \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> <\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>@{Name='CreatedBy';Expression={$_.Parameters['CreatedBy']}},<br \/>\n \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> <\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>@{Name='CreatedTime';Expression={$_.CreatedTime}} |<br \/>\n \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> \u00a0<wbr\/> <\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Export-Csv -Path \"C:\\TeamsChannelAudit.csv\" -NoTypeInformation<\/code><\/p><\/p>\n<\/div>\n<h2>Conformit\u00e0 continua grazie all\u2019automazione dell\u2019audit di Microsoft Teams<\/h2>\n<p>Un audit completo di Teams unisce inventario dei canali, log delle attivit\u00e0 di Purview e analitiche sull\u2019archiviazione per trasformare una proliferazione caotica in una collaborazione governata.<\/p>\n<p>Automatizzando questo processo con PowerShell e pianificando esecuzioni periodiche, mantieni una visibilit\u00e0 continua che affronta in modo proattivo rischi di sicurezza e requisiti di conformit\u00e0.<\/p>\n<p>Questo approccio rigoroso mantiene l\u2019ambiente Teams ottimizzato nel lungo periodo sia per la produttivit\u00e0 sia per la governance.<\/p>\n<p><strong>Argomenti correlati:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.ninjaone.com\/it\/blog\/creare-gestire-team-microsoft-teams\/\">Come creare e gestire un team in Microsoft Teams<\/a><\/li>\n<li><a href=\"https:\/\/www.ninjaone.com\/it\/blog\/come-utilizzare-microsoft-teams\/\">Come usare Microsoft Teams per migliorare l\u2019ambiente di lavoro<\/a><\/li>\n<li><a href=\"https:\/\/www.ninjaone.com\/it\/blog\/proliferazione-microsoft-teams\/\">Come gestire il ciclo di vita di Teams ed evitare la proliferazione<\/a><\/li>\n<li><a href=\"https:\/\/www.ninjaone.com\/it\/blog\/policy-di-conservazione-teams\/\">Come configurare i criteri di conservazione di Microsoft Teams per la conformit\u00e0 normativa<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Una crescita incontrollata di Microsoft Teams pu\u00f2 generare lacune di sicurezza e problemi di conformit\u00e0 quando i canali si moltiplicano senza un controllo adeguato. Un audit di Teams sistematico, basato sugli strumenti PowerShell nativi, porta alla luce questi rischi nascosti e allinea l\u2019ambiente di collaborazione ai criteri di conservazione. Questa guida ti accompagna nella creazione [&hellip;]<\/p>\n","protected":false},"author":35,"featured_media":743495,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[4354],"tags":[],"class_list":["post-916715","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-operazioni-it"],"acf":[],"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts\/916715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/comments?post=916715"}],"version-history":[{"count":1,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts\/916715\/revisions"}],"predecessor-version":[{"id":916716,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/posts\/916715\/revisions\/916716"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media\/743495"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media?parent=916715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/categories?post=916715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/tags?post=916715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}