{"id":899315,"date":"2026-10-14T16:09:00","date_gmt":"2026-10-14T16:09:00","guid":{"rendered":"https:\/\/www.ninjaone.com\/blog\/informes-grupos-microsoft-365-powershell\/"},"modified":"2026-10-14T16:09:01","modified_gmt":"2026-10-14T16:09:01","slug":"informes-grupos-microsoft-365-powershell","status":"publish","type":"post","link":"https:\/\/www.ninjaone.com\/es\/blog\/informes-grupos-microsoft-365-powershell\/","title":{"rendered":"C\u00f3mo obtener informes de grupos de Microsoft 365 con PowerShell"},"content":{"rendered":"<div class=\"in-context-cta\"><h2 style=\"margin-top:0px;\">Puntos clave<\/h2>\n<ul>\n<li>Usa Microsoft Graph PowerShell para exportar los nombres, tipos, visibilidad y fechas de creaci\u00f3n de los grupos de Microsoft 365.<\/li>\n<li>Combina los datos de Exchange Online PowerShell y de Graph para informar con precisi\u00f3n sobre la propiedad y los miembros de los grupos.<\/li>\n<li>Aprovecha la API de Microsoft Graph Reports para seguir la actividad de los grupos e identificar los inactivos o sin propietario en periodos de 7, 30 o 90 d\u00edas.<\/li>\n<li>Automatiza los informes de Microsoft 365 con autenticaci\u00f3n de solo aplicaci\u00f3n, tareas programadas de PowerShell y exportaciones a CSV\/JSON para un seguimiento constante.<\/li>\n<li>Estandariza los informes de Microsoft 365 en varios tenants con bucles de conexi\u00f3n por script, registros con marca de tiempo e informes unificados para todas las organizaciones.<\/li>\n<\/ul>\n<\/div>\n<p>Los informes de grupos de Microsoft 365 ayudan a los administradores a controlar la propiedad, los miembros, la visibilidad y el uso de los grupos en Teams, SharePoint, Planner y Outlook.<\/p>\n<p>Los m\u00e9todos de <a href=\"https:\/\/www.ninjaone.com\/es\/blog\/informes-de-ti-buenas-practicas\/\">informes<\/a> tradicionales no ofrecen la automatizaci\u00f3n ni la profundidad que necesitan los administradores actuales. Por eso cada vez m\u00e1s organizaciones recurren a herramientas como Graph PowerShell y los endpoints de Graph Reports para generar sus informes.<\/p>\n<p>Estas plataformas automatizan tareas repetitivas, como la recopilaci\u00f3n de datos de miembros y, sobre todo, aportan conjuntos de datos mucho m\u00e1s completos.<\/p>\n<p>En esta gu\u00eda te mostramos c\u00f3mo automatizar los <strong>informes de grupos de Microsoft 365 con PowerShell <\/strong>y Graph Reports.<\/p>\n<h2>Automatizar los informes de grupos de Microsoft 365 con PowerShell<\/h2>\n<p>PowerShell y Microsoft Graph son las dos herramientas imprescindibles para crear un sistema de informes de grupos de Microsoft 365 escalable y seguro.<\/p>\n<p>\ud83d\udccc<strong>Requisitos previos<\/strong><\/p>\n<ul>\n<li>Los m\u00f3dulos <strong>Microsoft Graph PowerShell SDK<\/strong> y <strong>Exchange Online<\/strong><\/li>\n<li>Un registro de aplicaci\u00f3n de Azure configurado con los \u00e1mbitos de API <strong><em>Reports.Read.All<\/em><\/strong> y <strong><em>Group.Read.All <\/em><\/strong><\/li>\n<li>Credenciales de solo aplicaci\u00f3n o delegadas, almacenadas de forma segura en un<strong> Key Vault o un archivo JSON cifrado<\/strong><\/li>\n<li>Permisos de administrador para acceder a los <strong>informes del tenant de Microsoft 365<\/strong> y a <strong>Exchange Online<\/strong><\/li>\n<\/ul>\n<h3>M\u00e9todo 1: realizar un inventario completo de grupos con Microsoft Graph PowerShell<\/h3>\n<p>\ud83d\udccc<strong>Caso de uso: <\/strong>este m\u00e9todo establece una conexi\u00f3n segura con <a href=\"https:\/\/www.ninjaone.com\/es\/blog\/microsoft-graph-api-powershell-microsoft-365\/\">Microsoft Graph<\/a>, lo que te permitir\u00e1 consultar tus datos de Microsoft 365. Es ideal para hacer un inventario completo de todos los grupos de tu tenant, incluidos los grupos din\u00e1micos y los habilitados para Teams.<\/p>\n<p style=\"padding-left: 40px;\"><strong>A. Instala e importa los m\u00f3dulos<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><code>Install-Module Microsoft.Graph -Scope CurrentUser<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Import-Module Microsoft.Graph<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Connect-MgGraph -Scopes \"Group.Read.All\",\"Reports.Read.All\"<\/code><\/p>\n<p style=\"padding-left: 40px;\">As\u00ed se instala el SDK de forma segura y se conecta con los permisos necesarios.<\/p>\n<p style=\"padding-left: 40px;\"><strong>B. Usa Get-MgGroup para inventariar todos los grupos de Microsoft 365<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><code>Get-MgGroup -All | Select DisplayName,GroupTypes,Visibility,CreatedDateTime |<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Export-Csv \"C:\\Reports\\GroupInventory.csv\" -NoTypeInformation<\/code><\/p>\n<p style=\"padding-left: 40px;\">\ud83d\udca1<strong>Consejo: <\/strong>filtra los resultados por tipo de grupo o convenci\u00f3n de nombres para aislar los grupos din\u00e1micos o los habilitados para Teams.<\/p>\n<h3>M\u00e9todo 2: obtener los miembros y propietarios con Exchange Online<\/h3>\n<p>\ud83d\udccc<strong>Caso de uso: <\/strong>este m\u00e9todo te permite extraer los datos de miembros y propietarios directamente desde Exchange Online. Resulta especialmente \u00fatil para los administradores que gestionan grupos de seguridad habilitados para correo o listas de distribuci\u00f3n de Microsoft 365.<\/p>\n<p style=\"padding-left: 40px;\"><strong>A. Con\u00e9ctate a Exchange Online:<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><code>Connect-ExchangeOnline -UserPrincipalName admin@domain.com<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Get-UnifiedGroup | Select DisplayName,PrimarySmtpAddress,AccessType |<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Export-Csv \"C:\\Reports\\UnifiedGroups.csv\" -NoTypeInformation<\/code><\/p>\n<p style=\"padding-left: 40px;\"><strong>B. Lista los miembros o propietarios del grupo:<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><code>Get-UnifiedGroupLinks -Identity \"&lt;GroupName&gt;\" -LinkType Members |<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Select Name,PrimarySmtpAddress<\/code><\/p>\n<p style=\"padding-left: 40px;\">Exporta los resultados para revisarlos o documentar auditor\u00edas.<\/p>\n<h3>M\u00e9todo 3: analizar la actividad de los grupos con la API de Microsoft Graph Reports<\/h3>\n<p><strong>\ud83d\udcccCaso de uso:<\/strong> este m\u00e9todo te permite analizar la actividad de los grupos y obtener informaci\u00f3n sobre su ciclo de vida.<\/p>\n<p style=\"padding-left: 40px;\"><strong>A. Llama a la API de Graph Reports para consultar la actividad de los grupos<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><code>$uri = \"https:\/\/graph.microsoft.com\/v1.0\/reports\/getOffice365GroupsActivityDetail(period='D30')\"<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>Invoke-MgGraphRequest -Method GET -Uri $uri |<\/code><\/p>\n<p style=\"padding-left: 40px;\"><code>ConvertFrom-Csv | Export-Csv \"C:\\Reports\\GroupActivity_D30.csv\" -NoTypeInformation<\/code><\/p>\n<p style=\"padding-left: 40px;\">Compara los recuentos de actividad con los datos de miembros para identificar qu\u00e9 grupos est\u00e1n inactivos, infrautilizados o sin propietario.<\/p>\n<h3>M\u00e9todo 4: automatizar las exportaciones y su programaci\u00f3n<\/h3>\n<p>\ud83d\udccc<strong>Caso de uso: <\/strong>este m\u00e9todo te permite generar informes de grupos de forma autom\u00e1tica para cumplimiento y para los informes de direcci\u00f3n.<\/p>\n<ol>\n<li>Protege las credenciales de tu aplicaci\u00f3n guard\u00e1ndolas en un archivo JSON cifrado.<\/li>\n<li>Usa una <a href=\"https:\/\/www.ninjaone.com\/es\/blog\/automatizacion-con-powershell\/\">tarea programada de PowerShell<\/a> o un runbook de Azure Automation para ejecutarlo en el cloud:<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\"><code>$timestamp = Get-Date -Format \"yyyyMMdd_HHmm\"<\/code><br \/>\n<code>Get-MgGroup -All | Export-Csv \"C:\\Reports\\Groups_$timestamp.csv\" -NoTypeInformation<\/code><\/p>\n<ol start=\"3\">\n<li>Activa el registro de cada ejecuci\u00f3n y aseg\u00farate de que incluya datos clave, como la marca de tiempo, el nombre del tenant, el n\u00famero de registros y si la ejecuci\u00f3n fue correcta o fall\u00f3.<\/li>\n<li>Si quieres, puedes llevar los archivos CSV exportados a Power BI o a un paquete de informes de cumplimiento.<\/li>\n<\/ol>\n<h2>Resumen de buenas pr\u00e1cticas para obtener informes de grupos de Microsoft 365 con PowerShell y Graph Reports<\/h2>\n<table>\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><strong>Pr\u00e1ctica<\/strong><\/td>\n<td style=\"text-align: center;\"><strong>Objetivo<\/strong><\/td>\n<td style=\"text-align: center;\"><strong>Valor que aporta<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Cmdlets de Graph para el inventario<\/td>\n<td>Garantizan la alineaci\u00f3n con las API modernas de Microsoft Graph para obtener datos de grupos y del directorio<\/td>\n<td>Ofrecen resultados de inventario precisos, fiables y totalmente compatibles<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.ninjaone.com\/es\/blog\/migrar-buzones-exchange-online-sin-tiempo-inactividad\/\">Exchange Online<\/a> para los detalles de miembros<\/td>\n<td>Refuerza la gobernanza al dar visibilidad sobre la propiedad de los grupos y los permisos de acceso<\/td>\n<td>Permite a los administradores confirmar qui\u00e9n es propietario de cada grupo y qui\u00e9n tiene acceso a qu\u00e9<\/td>\n<\/tr>\n<tr>\n<td>API de Graph Reports para analizar la actividad<\/td>\n<td>Aporta visibilidad del ciclo de vida de los grupos al seguir los patrones de uso y participaci\u00f3n<\/td>\n<td>Facilita la identificaci\u00f3n de grupos inactivos, redundantes o sin propietario<\/td>\n<\/tr>\n<tr>\n<td>Autenticaci\u00f3n de solo aplicaci\u00f3n<\/td>\n<td>Mejora la seguridad al eliminar la necesidad de inicios de sesi\u00f3n interactivos<\/td>\n<td>Ofrece una autenticaci\u00f3n segura basada en tokens que protege el acceso administrativo<\/td>\n<\/tr>\n<tr>\n<td>Exportaciones programadas<\/td>\n<td>Estandariza la recopilaci\u00f3n de datos mediante la automatizaci\u00f3n<\/td>\n<td>Garantiza informes repetibles y evidencias continuas para las auditor\u00edas de cumplimiento<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Validaci\u00f3n y resoluci\u00f3n de problemas habituales<\/h2>\n<p>Si tu script devuelve errores o genera datos incompletos, usa el checklist siguiente para detectar y resolver los problemas m\u00e1s habituales.<\/p>\n<ul>\n<li><strong>Resultados vac\u00edos: <\/strong>comprueba la configuraci\u00f3n de registro del tenant y verifica que los permisos de la API de Graph est\u00e9n asignados correctamente.<\/li>\n<li><strong>Acceso denegado: <\/strong>aseg\u00farate de que se haya concedido expl\u00edcitamente el consentimiento de administrador para todos los \u00e1mbitos de API necesarios en el registro de aplicaci\u00f3n de Azure.<\/li>\n<li><strong>L\u00edmites de velocidad: <\/strong>aplica l\u00f3gica de retardo o de reintento en tenants grandes para espaciar las solicitudes y no superar los l\u00edmites de velocidad de la API de Graph.<\/li>\n<li><strong>Errores de script: <\/strong>envuelve los bloques de consulta en <em>Try\/Catch<\/em> para gestionar las excepciones correctamente y registrar el error para revisarlo m\u00e1s tarde.<\/li>\n<li><strong>Tokens caducados: <\/strong>configura alertas para vigilar la caducidad de los tokens y rota los secretos de la aplicaci\u00f3n con regularidad. As\u00ed te aseguras de que tus informes automatizados sigan ejecut\u00e1ndose.<\/li>\n<\/ul>\n<h2>Punto de automatizaci\u00f3n para los informes de grupos de Microsoft 365<\/h2>\n<p>La automatizaci\u00f3n puede marcar la diferencia para los MSP. Por ejemplo, una tarea diaria programada que se conecte a Microsoft Graph mediante autenticaci\u00f3n de solo aplicaci\u00f3n puede ayudarte a:<\/p>\n<ul>\n<li>Obtener listas de grupos y m\u00e9tricas de actividad de varios tenants de clientes.<\/li>\n<li>Unificar los datos en un \u00fanico informe CSV, con marcas de tiempo incluidas.<\/li>\n<li>Enviar los informes por correo autom\u00e1ticamente a los administradores designados.<\/li>\n<\/ul>\n<p>Este enfoque reduce el trabajo manual de tu equipo y le permite centrarse en tareas m\u00e1s importantes.<\/p>\n<h2>Simplifica los informes de grupos de Microsoft 365 con NinjaOne<\/h2>\n<p>NinjaOne hace que los informes de grupos de Microsoft 365 sean muy sencillos. Cuenta con un potente motor de scripting que te permite automatizar despliegues de PowerShell en los entornos de tus clientes.<\/p>\n<p>Con el almacenamiento seguro de credenciales, puedes crear scripts que generen informaci\u00f3n \u00fatil, produzcan informes CSV autom\u00e1ticamente y los adjunten directamente a la documentaci\u00f3n del cliente sin comprometer la seguridad.<\/p>\n<div class=\"blog-cta-new blog-cta-style-3\"><div class=\"cta-left\"><h2>Empieza tu prueba gratuita del software de gesti\u00f3n de endpoints n.\u00ba 1 en G2<\/h2><p>Sin tarjeta de cr\u00e9dito. Acceso completo a todas las funcionalidades.<\/p><\/div><div class=\"cta-right\"><a class=\"button\" href=\"https:\/\/www.ninjaone.com\/es\/prueba-gratuita-formulario\/\">Prueba NinjaOne gratis<\/a><\/div><\/div>\n<h2>Genera informes de grupos de Microsoft 365 m\u00e1s inteligentes con PowerShell<\/h2>\n<p>Los informes modernos de PowerShell para los grupos de Microsoft 365 se apoyan en cmdlets y API basados en Graph, lo que aporta un nivel de precisi\u00f3n y automatizaci\u00f3n que los m\u00e9todos tradicionales no pueden igualar.<\/p>\n<p>Al combinar los datos de inventario, miembros y actividad en informes unificados, ganas una visibilidad clave sobre cada tenant de cliente o unidad de negocio que gestionas. Y lo m\u00e1s importante: as\u00ed tu proceso de generaci\u00f3n de informes se mantiene escalable y preparado para el futuro.<\/p>\n<p><strong>Temas relacionados:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.ninjaone.com\/es\/blog\/api-graph-informes-cumplimiento-multitenant\/\">C\u00f3mo usar la API de Microsoft Graph para extraer informes de cumplimiento de varios tenants<\/a><\/li>\n<li><a href=\"https:\/\/www.ninjaone.com\/es\/blog\/copia-seguridad-microsoft-365-exchange-online\/\">C\u00f3mo hacer una copia de seguridad de Microsoft 365 Exchange Online<\/a><\/li>\n<li><a href=\"https:\/\/www.ninjaone.com\/es\/blog\/permisos-de-grupo-sharepoint\/\">Manual del administrador sobre los permisos de grupo de SharePoint: configuraci\u00f3n, gesti\u00f3n y buenas pr\u00e1cticas<\/a><\/li>\n<li><a href=\"https:\/\/www.ninjaone.com\/es\/blog\/microsoft-graph-api-powershell-microsoft-365\/\">C\u00f3mo usar la API de Microsoft Graph con Windows PowerShell para supervisar y gestionar clientes de Microsoft 365<\/a><\/li>\n<li><a href=\"https:\/\/www.ninjaone.com\/es\/blog\/informes-cumplimiento-msp-secure-score\/\">C\u00f3mo generar informes de cumplimiento para MSP a partir de Microsoft Secure Score<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Los informes de grupos de Microsoft 365 ayudan a los administradores a controlar la propiedad, los miembros, la visibilidad y el uso de los grupos en Teams, SharePoint, Planner y Outlook. Los m\u00e9todos de informes tradicionales no ofrecen la automatizaci\u00f3n ni la profundidad que necesitan los administradores actuales. Por eso cada vez m\u00e1s organizaciones recurren [&hellip;]<\/p>\n","protected":false},"author":35,"featured_media":743428,"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":[4357],"tags":[],"class_list":["post-899315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-operaciones-de-ti"],"acf":[],"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/posts\/899315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/comments?post=899315"}],"version-history":[{"count":1,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/posts\/899315\/revisions"}],"predecessor-version":[{"id":899316,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/posts\/899315\/revisions\/899316"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media\/743428"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media?parent=899315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/categories?post=899315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/tags?post=899315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}