Usare Ricerca contenuto per cercare un elenco di utenti nella cassetta postale e nel sito di OneDrive for Business

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

Il Centro sicurezza e conformità di Office 365 offre numerosi cmdlet di Windows PowerShell che consentono di automatizzare le attività correlate a eDiscovery che richiedono molto tempo. Attualmente, la creazione di una ricerca contenuto nel Centro sicurezza e conformità per eseguire ricerche in un numero elevato di percorsi di contenuti per responsabili richiede tempo e preparazione. Prima di creare una ricerca è necessario raccogliere l'URL di ogni sito di OneDrive for Business e quindi aggiungere alla ricerca le singole cassette postali e il sito di OneDrive for Business. Nelle versioni future sarà più semplice eseguire questa operazione nel Centro sicurezza e conformità. Fino a quel momento è possibile usare lo script fornito in questo articolo per automatizzare il processo. Questo script chiede di specificare il nome del dominio del sito personale dell'organizzazione, ad esempio contoso nell'URL https://contoso-my.sharepoint.com, nonché un elenco di indirizzi di posta elettronica degli utenti, il nome della nuova ricerca contenuto e la query di ricerca da usare. Lo script recupera l'URL di OneDrive for Business per ogni utente presente nell'elenco e quindi crea a avvia una ricerca contenuto per individuare ogni utente nella cassetta postale e nel sito di OneDrive for Business usando la query di ricerca fornita.

Ecco i passaggi della procedura:

Passaggio 1: Installare SharePoint Online Management Shell

Passaggio 2: Generare un elenco di utenti

Passaggio 3: Eseguire lo script per creare e avviare la ricerca

Prima di iniziare

  • Per eseguire lo script nel passaggio 3, è necessario essere membro del gruppo di ruoli Responsabile di eDiscovery nel Centro sicurezza e conformità e un amministratore globale di SharePoint Online.

  • Assicurarsi di salvare nella stessa cartella l'elenco di utenti creati nel passaggio 2 e lo script del passaggio 3. In tal modo risulterà più agevole eseguire lo script.

  • Lo script include funzionalità minime di gestione degli errori. Viene usato principalmente per eseguire ricerche nella cassetta postale e nel sito di OneDrive for Business di ogni utente in modo semplice e rapido.

  • Gli script di esempio forniti in questo argomento non sono supportati in alcun programma o servizi di supporto standard Microsoft. Vengono fornito COSÌ COME SONO senza garanzie di alcun tipo. Microsoft esclude inoltre qualsiasi garanzia implicita, tra cui, senza limitazioni, tutte le garanzie implicite di commerciabilità o idoneità per uno scopo specifico. L'utente assume tutti i rischi associati all'uso o alle prestazioni degli script di esempio e della documentazione. In nessun caso Microsoft, i suoi autori o chiunque altro coinvolto nella creazione, nella produzione o nella distribuzione degli script potranno essere ritenuti responsabili per eventuali danni di qualsiasi tipo (tra cui, senza limitazioni, danni per perdita di informazioni aziendali o profitti, interruzione dell'attività o altre perdite economiche) derivanti dall'uso o dall'impossibilità a usare gli script di esempio o la documentazione, anche se Microsoft è stata avvisata della possibilità di tali danni.

Passaggio 1: Installare Shell di gestione SharePoint Online

Il primo passaggio consiste nell'installare SharePoint Online Management Shell. La shell di questa procedura non verrà usata, ma è necessario installarla perché contiene i prerequisiti dello script eseguito nel passaggio 3. Questi prerequisiti consentono allo script di comunicare con SharePoint Online per ottenere gli URL per i siti di OneDrive for Business.

Passare a configurare l'ambiente SharePoint Online Management Shell Windows PowerShell ed eseguire il passaggio 1 e passaggio 2 per installare SharePoint Online Management Shell.

Inizio pagina

Passaggio 2: Generare un elenco di utenti

Lo script nel passaggio 3 consentirà di creare una ricerca contenuto per eseguire ricerche nelle cassette postali e nei siti di OneDrive for Business di un elenco di utenti. È possibile digitare gli indirizzi di posta elettronica in un file oppure eseguire un comando in Windows PowerShell per ottenere un elenco di indirizzi e salvarli in un file nella stessa cartella in cui verrà salvato lo script nel passaggio 3.

Ecco un comando di Windows PowerShell (eseguito usando la sessione remota di PowerShell connessa all'organizzazione di Exchange Online) per ottenere un elenco di indirizzi di posta elettronica per tutti gli utenti dell'organizzazione e salvarlo in un file di testo denominato Users.txt.

Get-Mailbox -ResultSize unlimited -Filter { RecipientTypeDetails -eq 'UserMailbox'} | Select-Object PrimarySmtpAddress > Users.txt

Dopo aver eseguito questo comando, assicurarsi di aprire il file e rimuovere l'intestazione che contiene il nome della proprietà, PrimarySmtpAddress. File di testo deve contenere solo un elenco di indirizzi di posta elettronica e niente. Assicurarsi che non siano presenti righe vuote prima o dopo l'elenco di indirizzi di posta elettronica.

Inizio pagina

Passaggio 3: Eseguire lo script per creare e avviare la ricerca

Quando si esegue lo script in questo passaggio, verranno richieste le informazioni seguenti. Assicurarsi di avere a disposizione queste informazioni prima di eseguire lo script.

  • Credenziali utente  Lo script userà le credenziali per accedere a SharePoint Online e ottenere gli URL di OneDrive for Business e per connettersi al Centro sicurezza e conformità con la sessione remota di PowerShell.

  • Nome del dominio del sito personale  Il dominio del sito personale contiene tutti i siti di OneDrive for Business dell'organizzazione. Se, ad esempio, l'URL del dominio del sito personale è https://contoso-my.sharepoint.com, è necessario immettere contoso quando lo script chiede di specificare il nome del dominio del sito personale.

  • Percorso del file di testo del passaggio 2  Immettere il percorso del file di testo creato nel passaggio 2. Se il file di testo e lo script si trovano nella stessa cartella, immettere il nome del file di testo. In caso contrario, immettere il percorso completo del file di testo. 

  • Nome della ricerca contenuto   Immettere il nome della ricerca contenuto che verrà creata dallo script.

  • Query di ricerca   La query di ricerca che verrà usata con Ricerca contenuto verrà creata ed eseguita. Per altre informazioni sulle query di ricerca, vedere Query con parola chiave e condizioni di ricerca per Ricerca contenuto.

  1. Salvare il testo seguente in un file script di Windows PowerShell usando il suffisso del nome file ps1, ad esempio SearchEXOOD4B.ps1. Salvare il file nella stessa cartella in cui è stato salvato l'elenco di utenti nel passaggio 2.

    # This PowerShell script will prompt you for the following information:
    #    * Your user credentials 
    #    * The name of your organization's MySite domain                                              
    #    * The pathname for the text file that contains a list of user email addresses
    #    * The name of the Content Search that will be created
    #    * The search query string
    # The script will then:
    #    * Find the OneDrive for Business site for each user in the text file
    #    * Create and start a Content Search using the above information
    
    
    # Get user credentials
    if (!$credentials)
    {
        $credentials = Get-Credential
    }
    
    # Get the user's MySite domain name.  We use this to create the admin URL and root URL for OneDrive for Business
    $mySiteDomain = Read-Host "What is your organization's MySite domain?  For example,  'contoso' for 'https://contoso-my.sharepoint.com'"
    $AdminUrl = "https://$mySiteDomain-admin.sharepoint.com"
    $mySiteUrlRoot = "https://$mySiteDomain-my.sharepoint.com"
    
    # Get other required information
    $inputfile = read-host "Enter the file name of the text file that contains the email addresses for the users you want to search"
    $searchName = Read-Host "Enter the name for the new search"
    $searchQuery = Read-Host "Enter the search query you want to use"
    $emailAddresses = Get-Content $inputfile | where {$_ -ne ""}  | foreach{ $_.Trim() }
    
    # Connect to Office 365
    if (!$s -or !$a)
    {
        $s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://ps.compliance.protection.outlook.com/powershell-liveid" -Credential $credentials -Authentication Basic -AllowRedirection -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
        $a = Import-PSSession $s -AllowClobber
    
        if (!$s)
        {
            Write-Error "Could not create PowerShell session."
            return;
        }
    }
    
    # Load the SharePoint assemblies from the SharePoint Online Management Shell
    # To install, go to http://go.microsoft.com/fwlink/p/?LinkId=255251
    if (!$SharePointClient -or !$SPRuntime -or !$SPUserProfile)
    {
        $SharePointClient = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
        $SPRuntime = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")
        $SPUserProfile = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.UserProfiles")
    
        if (!$SharePointClient)
        {
            Write-Error "SharePoint Online Management Shell isn't installed, please install from: http://go.microsoft.com/fwlink/p/?LinkId=255251 and then run this script again"
            return;
        }
    }
    
    if (!$spCreds)
    {
        $spCreds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($credentials.UserName, $credentials.Password)
    }
    
    # Add the path of the User Profile Service to the SPO admin URL, then create a new webservice proxy to access it
    $proxyaddr = "$AdminUrl/_vti_bin/UserProfileService.asmx?wsdl"
    $UserProfileService= New-WebServiceProxy -Uri $proxyaddr -UseDefaultCredential False
    $UserProfileService.Credentials = $credentials
    
    # Take care of auth cookies
    $strAuthCookie = $spCreds.GetAuthenticationCookie($AdminUrl)
    $uri = New-Object System.Uri($AdminUrl)
    $container = New-Object System.Net.CookieContainer
    $container.SetCookies($uri, $strAuthCookie)
    $UserProfileService.CookieContainer = $container
    
    Write-Host "Getting each user's OneDrive for Business URL"
    $urls = @()
    foreach($emailAddress in $emailAddresses)
    {
        try
        {
            $prop = $UserProfileService.GetUserProfileByName("i:0#.f|membership|$emailAddress") | Where-Object { $_.Name -eq "PersonalSpace" } 
            $url = $prop.values[0].value
            $furl = $mySiteUrlRoot + $url
            $urls += $furl
            Write-Host "-$emailAddress => $furl"
        }
        catch
        {
            Write-Warning "Could not locate OneDrive for $emailAddress"
        }
    }
    
    Write-Host "Creating and starting the search"
    $search = New-ComplianceSearch -Name $searchName -ExchangeLocation $emailAddresses -SharePointLocation $urls -ContentMatchQuery $searchQuery
    
    # Finally, start the search and then display the status
    if($search)
    {
        Start-ComplianceSearch $search.Name
        Get-ComplianceSearch $search.Name
    }
    
  2. Aprire Windows PowerShell e passare alla cartella in cui sono stati salvati lo script e l'elenco di utenti del passaggio 2.

  3. Avviare lo script, ad esempio:

    .\SearchEXOOD4B.ps1
  4. Quando viene richiesto di specificare le credenziali, immettere l'indirizzo di posta elettronica e la password e quindi fare clic su OK.

  5. Immettere le informazioni seguenti, quando richiesto dallo script. Digitare le singole informazioni e quindi premere INVIO.

    • Nome del dominio del sito personale. 

    • Percorso del file di testo che contiene l'elenco di utenti.

    • Nome della ricerca contenuto.

    • Query di ricerca (non specificare nulla se si vuole che vengano restituiti tutti gli elementi dei percorsi contenuto).

    Lo script recupera gli URL di ogni sito di OneDrive for Business e quindi crea e avvia la ricerca. È possibile eseguire il cmdlet Get-ComplianceSearch per visualizzare le statistiche e i risultati della ricerca oppure passare alla pagina Ricerca contenuto nel Centro sicurezza e conformità per visualizzare informazioni sulla ricerca.

Inizio pagina

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×