Magic Quadrant™ para la gestión de acceso privilegiado 2025: Netwrix reconocida por cuarto año consecutivo. Descarga el informe.

Plataforma
Centro de recursosBlog
Los 10 comandos principales de Group Policy en PowerShell

Los 10 comandos principales de Group Policy en PowerShell

Apr 11, 2019

Además de la Group Policy Management Console (GPMC), Microsoft proporciona un conjunto de cmdlets de Windows PowerShell que puedes utilizar para administrar Group Policy. Para usar los cmdlets de PowerShell de Group Policy, debes tener GPMC instalado en el dispositivo donde ejecutarás los cmdlets. Para verificar si el módulo de PowerShell de Group Policy está instalado en un dispositivo, ejecuta el comando a continuación, el cual mostrará todos los cmdlets de Group Policy disponibles si el módulo está instalado.

      Get-Command -Module GroupPolicy
      

Contenido relacionado seleccionado:

Creando un nuevo Objeto de Directiva de Grupo

Comencemos creando un nuevo objeto de Directiva de grupo (GPO). El comando a continuación crea un nuevo GPO llamado ‘Netwrix PCs’ y añade un comentario para describir su propósito:

      New-GPO -Name "Netwrix PCs" -Comment "Client settings for Netwrix PCs"
      

El comando crea un GPO vacío sin configuraciones. Si tienes GPOs iniciales configurados en tu Active Directory domain, puedes crear un nuevo GPO basado en sus configuraciones. El siguiente comando crea un nuevo GPO llamado ‘Netwrix PCs’ basado en el GPO ‘Windows 10 MS Security Settings’:

      New-GPO -Name "Netwrix PCs" -StarterGPOName "Windows 10 MS Security Settings"
      

Opcionalmente, puedes vincular la GPO a un dominio, unidad organizativa (OU) del controlador de dominio o sitio utilizando piping. El comando a continuación crea una nueva GPO y la vincula a la OU Clients en el dominio ad.contoso.com:

      New-GPO -Name "Netwrix PCs" | New-GPLink -Target "ou=clients,dc=ad,dc=contoso,dc=com"
      

Para desvincular una GPO, utilice el cmdlet Remove-GPLink:

      Remove-GPLink -Name "Netwrix PCs" -Target "ou=clients,dc=ad,dc=contoso,dc=com"
      

Image

Figura 1. Cómo vincular y desvincular una GPO

Obteniendo información sobre una GPO

Una vez creado un GPO, puede usar Get-GPO para obtener información como el estado del GPO, la hora de creación y la última hora de modificación:

      Get-GPO -Name "Netwrix PCs"
      

Si desea más información, envíe el objeto creado por Get-GPO a Get-GPOReport. El script a continuación crea un informe HTML que proporciona información sobre el GPO similar a lo que podría ver en la Group Policy Management Console:

      Get-GPO -Name "Netwrix PCs" | Get-GPOReport -ReportType HTML -Path c:tempreport.html
      

Image

Figura 2. Informe HTML con datos detallados sobre un GPO específico

Configuración de los ajustes de Group Policy

Si conoces la ubicación de una configuración de directiva de grupo basada en el registro, puedes usar el cmdlet Set-GPRegistryValue para configurarla.
Las configuraciones de directiva de grupo basadas en el registro son aquellas que aparecen bajo Plantillas administrativas en la GPMC. Set-GPRegistryValue también puede utilizarse para establecer valores del registro que no estén cubiertos por las configuraciones de Directiva de grupo. Por ejemplo, si deseas configurar ajustes del registro para aplicaciones de terceros que no tienen un archivo ADMX para Directiva de grupo, Set-GPRegistryValue es una forma rápida de establecer los valores que necesitas. El siguiente comando establece un tiempo de espera del protector de pantalla de 300 segundos para el usuario que ha iniciado sesión:

      Set-GPRegistryValue -Name "Netwrix PCs" -Key "HKCUSoftwarePoliciesMicrosoftWindowsControl PanelDesktop" -ValueName ScreenSaveTimeOut -Type DWord -Value 300
      

Puede especificar la configuración del equipo o la configuración del usuario utilizando Set-GPRegistryValue. La ruta del registro en el parámetro -Key a continuación comienza con “HKCU” (que significa “HKEY_CURRENT_USER”). Si desea configurar una opción del equipo en su lugar, reemplace “HKCU” por “HKLM” (que se traduce en HKEY_LOCAL_MACHINE).

Para obtener información detallada sobre una clave de registro configurada en un GPO, utilice Get-GPRegistryValue:

      Get-GPRegistryValue -Name "Netwrix PCs" -Key "HKCUSoftwarePoliciesMicrosoftWindowsControl PanelDesktop"
      

Image

Figura 3. Cómo obtener información detallada sobre una clave de registro configurada en una GPO

Para eliminar un ajuste del registro de una GPO, utilice Remove-GPRegistryValue:

      Remove-GPRegistryValue -Name "Netwrix PCs" -Key "HKCUSoftwarePoliciesMicrosoftWindowsControl PanelDesktop" -ValueName ScreenSaveTimeOut
      

Los tres cmdlets anteriores tienen equivalentes en Group Policy Preference si decides usar Preferences en lugar de Policies para establecer claves de registro: Set-GPPrefRegistryValue, Get-GPPrefRegistryValue, y Remove-GPPrefRegistryValue.

Aplicando configuraciones de Directiva de grupo

Siempre que su GPO esté vinculado a un dominio, OU o sitio, se aplicará a los objetos de usuario y computadora que estén debajo de donde está vinculado. Pero si desea forzar una actualización de Group Policy update en un servidor remoto u otro dispositivo, puede utilizar Invoke-GPUpdate. Ejecutar Invoke-GPUpdate sin ningún parámetro forzará una actualización de la configuración de usuario y computadora en la computadora local. El comando a continuación fuerza una actualización de Group Policy en server1 solo para la configuración de usuario:

      Invoke-GPUpdate -Computer "adserver1" -Target "User"
      

Revisando qué GPOs se aplican a un usuario o computadora

Para obtener información sobre qué GPOs se aplican a un usuario o computadora, puede generar un informe del Conjunto Resultante de Políticas (RSoP) utilizando el cmdlet Get-GPResultantSetOfPolicy. El comando a continuación genera un informe para la computadora llamada “dc1” y escribe los resultados en el directorio c:temp:

      Get-GPResultantSetOfPolicy -Computer dc1 -ReportType HTML -Path c:tempdc1rsop.html
      

Image

Figura 4. Cómo obtener información sobre qué GPOs se aplican a un usuario o computadora

Los cmdlets de PowerShell pueden ser bastante útiles para administrar la Directiva de Grupo. Sin embargo, configurar ajustes dentro de los GPOs usando PowerShell no es fácil porque las configuraciones de la Directiva de Grupo no fueron diseñadas pensando en la configuración basada en texto.

Compartir en

Aprende más

Acerca del autor

Asset Not Found

Russell Smith

Consultor de TI

Consultor de TI y autor especializado en tecnologías de gestión y seguridad. Russell tiene más de 15 años de experiencia en TI, ha escrito un libro sobre seguridad en Windows y ha coescrito un texto para la serie de Cursos Académicos Oficiales de Microsoft (MOAC).