Crear, informar sobre y eliminar varias búsquedas de contenido

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Rápidamente creación de informes y búsquedas de descubrimiento con frecuencia es un paso importante en la exhibición de documentos electrónicos y las investigaciones cuando intente obtener información sobre los datos subyacentes y la variedad y calidad de las búsquedas. Para ayudarle a hacer esto, la Centro de cumplimiento y seguridad ofrece un conjunto de cmdlets de Windows PowerShell para automatizar tareas de búsqueda de contenido que lleva mucho tiempo. Estas secuencias de comandos proporcionan una manera rápida y sencilla de crear una serie de búsquedas y, a continuación, ejecutan informes de los resultados de búsqueda estimado que pueden ayudarle a determinar la cantidad de datos en cuestión. También puede usar las secuencias de comandos para crear diferentes versiones de búsquedas para comparar los resultados de que cada uno genera. Estas secuencias de comandos pueden ayudarle a identificar y seleccionamos los datos rápida y eficaz.

Este tema incluye secuencias de comandos que se pueden ejecutar para crear, iniciar, informar sobre y eliminar varias búsquedas. Aquí tiene información general del proceso:

Paso 1: Crear un archivo CSV que contiene información sobre las búsquedas que desee ejecutar

Paso 2: Conectar con la seguridad y el centro de cumplimiento con PowerShell remoto

Paso 3: Ejecutar la secuencia de comandos para crear e iniciar las búsquedas

Paso 4: Ejecutar calcula la secuencia de comandos para informar de la búsqueda

Paso 5: Ejecutar la secuencia de comandos para eliminar las búsquedas

Antes de empezar

  • Debe ser miembro del grupo de rol de administrador de exhibición de documentos electrónicos en la Centro de cumplimiento y seguridad para ejecutar las secuencias de comandos que se describen en este tema.

  • Para obtener una lista de las direcciones URL de los sitios de OneDrive para la Empresa de su organización que puede agregar el archivo CSV en el paso 1, utilice la secuencia de comandos en el paso 2 en asignar permisos de exhibición de documentos electrónicos en OneDrive para la empresa. Esta secuencia de comandos crea un archivo de texto que contiene una lista de todos los sitios de OneDrive para la Empresa. Para ejecutar esta secuencia de comandos, tendrá que instalar y usar el Shell de administración de SharePoint Online (vea el paso 1 en el tema anterior). A continuación, puede usar estas direcciones URL en el archivo CSV que cree en el paso 1.

  • Asegúrese de guardar todos los archivos que cree en este tema en la misma carpeta. Que le será más fácil ejecutar las secuencias de comandos.

  • Las secuencias de comandos incluyen control de errores mínima. Su objetivo principal es crear rápidamente, informar sobre y eliminar varias búsquedas de contenido.

  • Los scripts de ejemplo que aparecen en este tema no son soportados por ningún programa o servicio de soporte técnico de Microsoft. Los scripts de ejemplo aparecen "TAL CUAL", sin garantía de ningún tipo. Además, Microsoft no se hace responsable de cualquier garantía implícita, incluyendo, de manera enunciativa pero no limitativa, cualquier garantía implícita de comercialización o de calidad para cualquier propósito. Cualquier riesgo resultante del uso o resultado de los scripts y la documentación de ejemplo será únicamente responsabilidad suya. En ningún caso Microsoft, sus autores o cualquier persona involucrada en su creación, producción o entrega de los scripts será responsable de cualquier daño (incluidos, de manera enunciativa pero no limitativa, daños por pérdidas de beneficios de una empresa, interrupción de la actividad de una empresa, pérdidas de información de una empresa, o cualquier otro daño pecuniario), incluso si Microsoft supiera de la posibilidad de tales daños.

Paso 1: Crear un archivo CSV que contiene información sobre las búsquedas que desee ejecutar

El archivo (CSV) de valores separados por comas que cree en este paso contiene una fila por cada usuario que desee buscar. Puede buscar en el buzón del usuario Exchange Online (que incluye el buzón archivado, si está habilitado) y su sitio OneDrive para la Empresa. O bien, puede buscar en el buzón de correo o el sitio OneDrive para la Empresa. También puede buscar cualquier sitio de su organización SharePoint Online. La secuencia de comandos que se ejecutan en el paso 3 creará una búsqueda independiente para cada fila en el archivo CSV.

  1. Copie y pegue el siguiente texto en un archivo .txt utilizando el Bloc de notas. Guardar este archivo en una carpeta en el equipo local. Deberá guardar otras secuencias de comandos en esta carpeta también.

    ExchangeLocation,SharePointLocation,ContentMatchQuery,StartDate,EndDate
    sarad@contoso.onmicrosoft.com,https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com,(lawsuit OR legal),1/1/2000,12/31/2005
    sarad@contoso.onmicrosoft.com,https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com,(lawsuit OR legal),1/1/2006,12/31/2010
    sarad@contoso.onmicrosoft.com,https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com,(lawsuit OR legal),1/1/2011,3/21/2016
    ,https://contoso.sharepoint.com/sites/contoso,,,3/21/2016
    ,https://contoso-my.sharepoint.com/personal/davidl_contoso_onmicrosoft_com,,1/1/2015,
    ,https://contoso-my.sharepoint.com/personal/janets_contoso_onmicrosoft_com,,1/1/2015,

    La primera fila o la fila de encabezado, del archivo enumera los parámetros que se utilizará cmdlet New-ComplianceSearch (en la secuencia de comandos en el paso 3) para crear un nuevo búsquedas de contenido. Cada nombre de parámetro es separado por una coma. Asegúrese de que no hay espacios en la fila de encabezado. Cada fila en la fila de encabezado representa los valores de parámetro para cada búsqueda. Asegúrese de reemplazar los datos de marcador de posición en el archivo CSV con los datos reales.

  2. Abra el archivo .txt en Excel y, a continuación, use la información de la tabla siguiente para editar el archivo con la información de cada búsqueda.

    Parámetro

    Descripción

    ExchangeLocation

    La dirección SMTP del buzón del usuario.

    SharePointLocation

    La dirección URL de sitio de OneDrive para la Empresa del usuario o la dirección URL para los sitios de su organización. Para la dirección URL para los sitios de OneDrive para la Empresa, use este formato: https://<your organization>-my.sharepoint.com/personal/<user alias>_<your organization>_onmicrosoft_com. Por ejemplo, https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com.

    ContentMatchQuery

    La consulta de búsqueda de la búsqueda. Para obtener más información acerca de cómo crear una consulta de búsqueda, vea consultas de palabra clave y condiciones de búsqueda para la búsqueda de contenido.

    StartDate

    Para el correo electrónico, la fecha en o después de un mensaje se ha recibido un destinatario o enviados por el remitente. Documentos en sitios SharePoint o OneDrive para la Empresa, la fecha en o después de un documento se modificó por última vez.

    EndDate

    Para el correo electrónico, ha enviado la fecha en o antes de un mensaje enviado por el usuario. Documentos en sitios SharePoint o OneDrive para la Empresa, la fecha en o antes de un documento se modificó por última vez.

  3. Guarde el archivo de Excel como un archivo CSV a una carpeta en el equipo local. La secuencia de comandos que cree en el paso 3 usará la información de este archivo CSV para crear las búsquedas.

Volver al principio

Paso 2: Conectar con la Centro de cumplimiento y seguridad con PowerShell remoto

El siguiente paso es conectarse Windows PowerShell a la Centro de cumplimiento y seguridad para su organización.

  1. Guardar el texto siguiente en un archivo de script de Windows PowerShell mediante un sufijo nombre de archivo. ps1; Por ejemplo, ConnectSCC.ps1. Guarde el archivo en la misma carpeta que haya guardado el archivo CSV a en el paso 1.

    # Get login credentials 
    $UserCredential = Get-Credential 
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid -Credential $UserCredential -Authentication Basic -AllowRedirection 
    Import-PSSession $Session -AllowClobber -DisableNameChecking 
    $Host.UI.RawUI.WindowTitle = $UserCredential.UserName + " (Office 365 Security & Compliance Center)" 
    
  2. En el equipo local, abra Windows PowerShell, vaya a la carpeta donde se encuentra el script que ha creado en el paso anterior y, a continuación, ejecute el script. Por ejemplo:

    .\ConnectSCC.ps1

Volver al principio

Paso 3: Ejecutar la secuencia de comandos para crear e iniciar las búsquedas

La secuencia de comandos en este paso creará una búsqueda de contenido independientes para cada fila en el archivo CSV que creó en el paso 1. Cuando se ejecuta esta secuencia de comandos, se le pedirá para dos valores:

  • Id. de grupo de búsqueda   Este nombre proporciona una forma sencilla para organizar las búsquedas creadas desde el archivo CSV. Cada búsqueda que se crea se denomina con el ID de grupo de búsqueda y, a continuación, se anexa un número en el nombre de la búsqueda. Por ejemplo, si escribe ContosoCase para el ID de grupo de búsqueda, las búsquedas se denominan ContosoCase_1, ContosoCase_2, ContosoCase_3y así sucesivamente. Tenga en cuenta que el nombre que escriba distingue mayúsculas de minúsculas. Cuando se utiliza el identificador del grupo de búsqueda en el paso 4 y 5, debe usar el mismo caso que utilizó cuando lo creó.

  • Archivo CSV   El nombre del archivo CSV que creó en el paso 1. Asegúrese de incluir el uso de nombre de archivo completo, la extensión de archivo .csv; Por ejemplo, ContosoCase.csv.

  1. Guardar el texto siguiente en un archivo de script de Windows PowerShell mediante un sufijo nombre de archivo. ps1; Por ejemplo, CreateSearches.ps1. Guarde el archivo en la misma carpeta donde guardó el resto de archivos.

    # Get the Search Group ID and the location of the CSV input file
    $searchGroup = Read-Host 'Search Group ID'
    $csvFile = Read-Host 'Source CSV file'
    	
    # Do a quick check to make sure our group name will not collide with other searches
    $searchCounter = 1
    import-csv $csvFile |
    	ForEach-Object{
    	
    	$searchName = $searchGroup +'_' + $searchCounter
    	$search = Get-ComplianceSearch $searchName -EA SilentlyContinue
    	if ($search)
    	{
    	    Write-Error "The Search Group ID conflicts with existing searches.  Please choose a search group name and restart the script."
    	    return
    	}
    	$searchCounter++
    }
    	
    $searchCounter = 1
    import-csv $csvFile |
    	ForEach-Object{
    	
    	# Create the query
    	$query = $_.ContentMatchQuery
    	if(($_.StartDate -or $_.EndDate))
    	{
            # Add the appropriate date restrictions.  NOTE: Using the Date condition property here because it works across Exchange, SharePoint, and OneDrive for Business.
            # For Exchange, the Date condition property maps to the Sent and Received dates; for SharePoint and OneDrive for Business, it maps to Created and Modified dates.
    
            if($query)
            {
                $query += " AND"
            }
    
            $query += " ("
    
            if($_.StartDate)
            {
                $query += "Date >= " + $_.StartDate
            }
    
            if($_.EndDate)
            {
                if($_.StartDate)
                {
                    $query += " AND "
                }
                $query += "Date <= " + $_.EndDate
            }
    
            $query += ")"
    	}
        
        # -ExchangeLocation can't be set to an empty string, set to null if there's no location.
        $exchangeLocation = $null
        if ( $_.ExchangeLocation)
        {
             $exchangeLocation = $_.ExchangeLocation
        }
    	
    	# Create and run the search        
    	$searchName = $searchGroup +'_' + $searchCounter
    	Write-Host "Creating and running search: " $searchName -NoNewline
    	$search = New-ComplianceSearch -Name $searchName -ExchangeLocation $exchangeLocation -SharePointLocation $_.SharePointLocation -ContentMatchQuery $query
    	
    	# Start and wait for each search to complete
    	Start-ComplianceSearch $search.Name
    	while ((Get-ComplianceSearch $search.Name).Status -ne "Completed")
    	{
    	    Write-Host " ." -NoNewline
    	    Start-Sleep -s 3
    	}
    	Write-Host ""
    	
    	$searchCounter++
    }
  2. En Windows PowerShell, vaya a la carpeta donde guardó la secuencia de comandos en el paso anterior y, a continuación, ejecute el script; Por ejemplo:

    .\CreateSearches.ps1
  3. En el símbolo de Id. de grupo de búsqueda, escriba un nombre de grupo de búsqueda y, a continuación, presione ENTRAR; Por ejemplo, ContosoCase. Recuerde que este nombre distingue mayúsculas de minúsculas, por lo que deberá escribir la misma manera en los siguientes pasos.

  4. En el símbolo de archivo CSV de origen, escriba el nombre del archivo CSV, incluida la extensión de archivo .csv; Por ejemplo, ContosoCase.csv.

  5. Presione ENTRAR para continuar ejecutando el script.

    La secuencia de comandos muestra el progreso de la creación y ejecución de las búsquedas. Una vez completada la secuencia de comandos, vuelve a la pregunta.

    Ejemplo de resultados ejecutando el script para crear varias búsquedas de cumplimiento

Volver al principio

Paso 4: Ejecutar calcula la secuencia de comandos para informar de la búsqueda

Después de crear las búsquedas, el siguiente paso es ejecutar una secuencia de comandos que se muestra un informe sencillo del número de visitas de búsqueda para cada búsqueda que se creó en el paso 3. El informe también incluye el tamaño de los resultados de cada búsqueda y el número total de visitas y el tamaño total de todas las búsquedas. Cuando se ejecuta la secuencia de comandos de generación de informes, se le pedirá para el ID de grupo de búsqueda y un nombre de archivo CSV si desea guardar el informe en un archivo CSV.

  1. Guardar el texto siguiente en un archivo de script de Windows PowerShell mediante un sufijo nombre de archivo. ps1; Por ejemplo, SearchReport.ps1. Guarde el archivo en la misma carpeta donde guardó el resto de archivos.

    $searchGroup = Read-Host 'Search Group ID'
    $outputFile = Read-Host 'Enter a file name or file path to save the report to a .csv file. Leave blank to only display the report'
    
    $searches = Get-ComplianceSearch | ?{$_.Name -clike $searchGroup + "_*"}
    
    $allSearchStats = @()
    foreach ($partialObj in $searches)
    {
        $search = Get-ComplianceSearch $partialObj.Name
    
        $sizeMB = [System.Math]::Round($search.Size / 1MB, 2)
    
        $searchStatus = $search.Status
        if($search.Errors)
        {
            $searchStatus = "Failed"
        }elseif($search.NumFailedSources -gt 0)
        {
            $searchStatus = "Failed Sources"
        }
    
        $searchStats = New-Object PSObject
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name Name -Value $search.Name
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name ContentMatchQuery -Value $search.ContentMatchQuery
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name Status -Value $searchStatus
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name Items -Value $search.Items
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name "Size" -Value $search.Size
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name "Size(MB)" -Value $sizeMB
    
        $allSearchStats += $searchStats
    }
    
    # Calculate the totals
    $allItems = ($allSearchStats | Measure-Object Items -Sum).Sum
    
    # Convert the total size to MB and round to the nearst 100th
    $allSize = ($allSearchStats | Measure-Object 'Size' -Sum).Sum
    $allSizeMB = [System.Math]::Round($allSize  / 1MB, 2)
    
    # Get the total successful searches and total of all searches
    $allSuccessCount = ($allSearchStats |?{$_.Status -eq "Completed"}).Count
    $allCount = $allSearchStats.Count
    $allStatus = [string]$allSuccessCount + " of " + [string]$allCount
    
    # Totals Row
    $totalSearchStats = New-Object PSObject
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name Name -Value "Total"
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name Status -Value $allStatus
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name Items -Value $allItems
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name "Size(MB)" -Value $allSizeMB
    $allSearchStats += $totalSearchStats
    
    # Just get the columns we're interested in showing
    $allSearchStatsPrime = $allSearchStats | Select-Object Name, Status, Items, "Size(MB)", ContentMatchQuery
    
    # Print the results to the screen
    $allSearchStatsPrime |ft -AutoSize -Wrap
    
    # Save the results to a CSV file
    if ($outputFile)
    {
        $allSearchStatsPrime | Export-Csv -Path $outputFile -NoTypeInformation
    }
  2. En Windows PowerShell, vaya a la carpeta donde guardó la secuencia de comandos en el paso anterior y, a continuación, ejecute el script; Por ejemplo:

    .\SearchReport.ps1
  3. En el símbolo de Id. de grupo de búsqueda, escriba un nombre de grupo de búsqueda y, a continuación, presione ENTRAR; Por ejemplo, ContosoCase. Recuerde que este nombre distingue mayúsculas de minúsculas, por lo que tendrá que volver a la misma manera que lo hizo ejecutó la secuencia de comandos en el paso 3.

  4. En el símbolo de ruta para guardar el informe a un archivo CSV (dejar en blanco para mostrar solo el informe) de archivo, escriba un nombre de archivo de la ruta de nombre de archivo completo (incluida la extensión de archivo .csv) si desea guardar el informe en un archivo CSV. nombre del archivo CSV, incluida la extensión de archivo .csv. Por ejemplo, puede escribir ContosoCaseReport.csv para guardarlo en el directorio actual o puede escribir C:\Users\admin\OneDrive for Business\ContosoCase\ContosoCaseReport.csv para guardarlo en una carpeta diferente. También puede dejar el símbolo del sistema en blanco para mostrar el informe, pero no se guarda en un archivo.

  5. Presione ENTRAR.

    La secuencia de comandos muestra el progreso de la creación y ejecución de las búsquedas. Una vez completada la secuencia de comandos, se muestra el informe.

    Ejecutar el informe de búsqueda para mostrar las estimaciones para el grupo de búsqueda

Volver al principio

Nota: Si se especifica el mismo buzón o sitio como una ubicación de contenido en más de una búsqueda en un grupo de búsqueda, la estimación de resultados totales en el informe (para el número de elementos y el tamaño total) puede incluir resultados para los mismos elementos. Eso es porque el mismo mensaje de correo electrónico o el documento se van a contar más de una vez si coincida con la consulta para realizar búsquedas diferentes en el grupo de búsqueda.

Paso 5: Ejecutar la secuencia de comandos para eliminar las búsquedas

Dado que podría crear una gran cantidad de búsquedas, esta última secuencia de comandos simplemente facilita eliminar rápidamente las búsquedas que creó en el paso 3. Al igual que las demás secuencias de comandos, esta también le pide el Id. de grupo de búsqueda Al ejecutar esta secuencia de comandos, se eliminarán todas las búsquedas con el ID de grupo de búsqueda en el nombre de búsqueda.

  1. Guardar el texto siguiente en un archivo de script de Windows PowerShell mediante un sufijo nombre de archivo. ps1; Por ejemplo, DeleteSearches.ps1. Guarde el archivo en la misma carpeta donde guardó el resto de archivos.

    # Delete all searches in a search group
    $searchGroup = Read-Host 'Search Group ID'
    Get-ComplianceSearch |
        ForEach-Object{
    
        # If the name matches the search group name pattern (case sensitive), delete the search
        if ($_.Name -cmatch $searchGroup + "_\d+")
        {
            Write-Host "Deleting search: " $_.Name
            Remove-ComplianceSearch $_.Name -Confirm:$false
        }
    }
  2. En Windows PowerShell, vaya a la carpeta donde guardó la secuencia de comandos en el paso anterior y, a continuación, ejecute el script; Por ejemplo:

    .\DeleteSearches.ps1
  3. En el símbolo de Id. de grupo de búsqueda, escriba un nombre de grupo de búsqueda para las búsquedas en la que desea eliminar y, a continuación, presione ENTRAR; Por ejemplo, ContosoCase. Recuerde que este nombre distingue mayúsculas de minúsculas, por lo que tendrá que volver a la misma manera que lo hizo ejecutó la secuencia de comandos en el paso 3.

    La secuencia de comandos muestra el nombre de cada búsqueda que se elimina.

    Ejecutar la secuencia de comandos para eliminar las búsquedas en el grupo de búsqueda

Volver al principio

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×