Copie archivos y carpetas a las computadoras de los usuarios a través de GPO
Puede usar Políticas de grupo para copiar archivos y carpetas específicos a las computadoras de los usuarios en el dominio de Active Directory. Puede colocar archivos en el escritorio, en un directorio de perfil de usuario en particular o en cualquier otra carpeta en una unidad local. Con GPO, puede copiar y actualizar automáticamente varios archivos de configuración, archivos INI, ejecutables de aplicaciones (EXE), DLL o scripts desde un repositorio compartido.
Copiar archivos usando las preferencias de la política de grupo
Por ejemplo, quiero copiar dos archivos (
app.exey
settings.xml) a los escritorios de algunos usuarios de dominio de Active Directory.
Cree una carpeta compartida para almacenar los archivos de origen que desea copiar en las computadoras de los usuarios. Puede ser una carpeta SMB compartida en un servidor de archivos o el directorio SYSVOL en un controlador de dominio (esta carpeta se replica automáticamente entre todos los DC del dominio mediante DFS, es conveniente utilizarla ya que ayuda a reducir la carga en los enlaces WAN). He colocado los archivos en la carpeta Sysvol
\\a-d.site\SYSVOL\a-d.site\scripts\CorpApp
. Asegúrese de que el grupo Usuarios autenticados tenga permisos de lectura en esta carpeta.
Cree un nuevo grupo de seguridad de Active Directory (CorpAPPUsers) mediante el complemento Usuarios y equipos de Active Directory (
dsa.msc). Puede crear un grupo con este cmdlet de PowerShell:
New-ADGroup CorpAPPUsers -path 'OU=Groups,OU=DE,dc=a-d,DC=com' -GroupScope Global -PassThru -VerboseAgregue usuarios al grupo a cuyo escritorio desea copiar archivos automáticamente a través del GPO:
Add-AdGroupMember -Identity CorpAPPUsers -Members asmith, bmuller, tweberAbra la consola de administración de directivas de grupo (
gpmc.msc);
Cree un nuevo objeto GPO (CopyCorpApp) y vincúlelo a la OU que contiene las computadoras de los usuarios;
Edite la configuración de GPO;
-
Expanda la siguiente sección de Preferencias de directiva de grupo: Usuario Configuración -> Preferencias -> Configuración de Windows -> Archivos;
Si necesita copiar archivos a las computadoras independientemente de los usuarios que hayan iniciado sesión, es mejor usar una política similar en la sección Configuración de la computadora de GPO.
Seleccione Nuevo -> Archivo;
Especifique el archivo de origen en la carpeta compartida y la ruta de destino en la computadora en la que desea copiar el archivo. Si la ruta especificada no existe, se creará automáticamente. Asegúrese de especificar el nombre completo del archivo de destino (si solo especifica un directorio de destino, recibirá un error de "acceso denegado" al copiar el archivo).
Puede seleccionar el nombre de archivo específico aquí o copiar todos los archivos del directorio de origen a la vez especificando un carácter comodín
*Hay 4 acciones disponibles para copiar archivos usando GPO:
Crear: el archivo se copia en un directorio de destino solo si no existe allí;
Reemplazar: el archivo de destino en la computadora de un usuario siempre se reemplaza por el archivo de origen. Si el archivo de origen es grande, se copiará cada vez que se actualice el GPO, lo que puede provocar una gran carga de red. Si solo desea reemplazar el archivo una vez, habilite la opción "Aplicar una vez y no volver a aplicar" en la pestaña Común;
Actualizar (una política predeterminada): si un archivo ya existe y los archivos de origen y destino son diferentes, no se reemplaza con el archivo de origen (solo se reemplazarán los atributos). Si el archivo no existe, se copiará;
Eliminar : elimine el archivo de destino.Puede seleccionar una carpeta específica en una computadora como directorio de destino o usar variables de entorno. Para copiar archivos al escritorio del usuario actual, use
%DesktopDir%Puede ver la lista completa de las variables de entorno disponibles en GPP presionando F3.
Aquí hay una lista de variables de entorno que se pueden usar como carpetas de destino al copiar archivos usando GPO:
- %AppDataDir%
Carpeta de datos de la aplicación del usuario actual
- %CommonAppdataDir%
Carpeta de datos de la aplicación de todos los usuarios
- %CommonDesktopDir%
Escritorio de todos los usuarios
- %CommonProgramsDir%
El directorio de Programas de todos los usuarios.
- %CommonStartMenuDir%
Carpeta del menú de inicio de todos los usuarios
- %CommonStartUpDir%
Directorio de inicio para todos los usuarios
- %ComputerName%
Nombre de la computadora NetBIOS
- %DesktopDir%
Escritorio del usuario actual
- %DomainName%
Actual nombre de dominio
- %LocalTime%
Hora de la computadora local
- %LogonDomain%
Dominio del usuario actual
- %LogonServer%
El nombre del controlador de dominio en el que se autentica el usuario
- %LogonUser%
Nombre de usuario actual
- %NetPlacesDir%
Directorio de Mis sitios de red del usuario
- %ProgramFilesDir%
Directorio de archivos de programa
- %ProgramsDir%
Directorio de programas del usuario
- %RecentDocumentsDir%
Directorio de documentos recientes del usuario
- %SendToDir%
Directorio de envío del usuario
- %StartMenuDir%
Menú de inicio del usuario actual
- %StartUpDir%
Carpeta de inicio del usuario actual
- %SystemDir%
directorio de ventanas
- %SystemDrive%
La unidad en la que está instalado el sistema operativo
- %TempDir%
Carpeta temporal de usuario
- %WindowsDir%
directorio de ventanas
Para copiar archivos a los escritorios de usuarios específicos, abra la pestaña Común en la configuración de políticas, habilite la opción Orientación a nivel de elemento y haga clic en Orientación;
En la siguiente ventana, puede seleccionar más opciones sobre cómo aplicar el GPO. En mi caso, me gustaría restringir la política a los miembros del grupo CorpAPPUsers únicamente. Para hacerlo, haga clic en Nuevo elemento -> Grupo de seguridad y especifique el grupo de usuarios del dominio;
Dado que hemos vinculado el GPO a una unidad organizativa que contiene objetos de computadora (no cuentas de usuario), debe habilitar el modo de procesamiento de bucle invertido de GPO. Habilite la opción Configurar el modo de procesamiento de bucle invertido de la política de grupo del usuario=Fusionar en Configuración del equipo -> Políticas -> Plantillas administrativas -> Sistema -> Política de grupo;
A continuación, actualice la configuración de la directiva de grupo en los equipos cliente (
gpupdate /forceo cierre la sesión y vuelva a iniciarla) y asegúrese de que los dos archivos se hayan copiado automáticamente en el escritorio del usuario.
De esta forma, puede copiar scripts, archivos ejecutables de aplicaciones o herramientas del sistema (PsTools, iperf, Portqry, etc.) a las computadoras de los usuarios. Puede copiar un archivo a Archivos de programa y colocar un acceso directo en el escritorio a través de GPO.
Si necesita copiar un directorio en la computadora de un usuario, debe usar el elemento Política de grupo de la sección Configuración de la computadora (usuario) -> Preferencias -> Configuración de Windows -> Carpetas. Esta opción le permite crear un directorio en una computadora de destino. A continuación, puede copiar los archivos de origen en este directorio como se describe anteriormente.
Si los archivos no se copian en las computadoras de los usuarios, puede usar la herramienta gpresult.exe para averiguar por qué no se aplica la directiva de grupo. Para obtener registros detallados de las operaciones de copia de archivos GPO, puede habilitar el registro en Configuración del equipo -> Políticas -> Plantillas administrativas -> Sistema -> Política de grupo -> Registro y seguimiento. Habilite la opción Configurar registro y seguimiento de preferencias de archivos y seleccione el modo Informativo, Advertencia y Errores en la configuración de la política.
Ahora puede realizar un seguimiento de todos los eventos y errores relacionados con la copia de archivos a través de GPO en clientes en el Visor de eventos -> Registro de la aplicación. Habilite el filtro por la fuente Archivos de políticas de grupo.
En mi caso, apareció un error de Event ID 4098 en una computadora de usuario al copiar archivos a través de GPO:
The user '%CommonDesktopDir%' preference item in the 'CopyCorpApp {GPO_GUID}' Group Policy Object did not apply because it failed with error code '0x80070005 Access is denied.' This error was suppressed.Este problema se resolvió otorgando permisos de lectura NTFS a los archivos en el directorio de origen al grupo Usuarios autenticados.
¿Cómo copiar carpetas y archivos con el script de inicio de GPO?
Tenga en cuenta que las Preferencias de directiva de grupo no le permiten copiar un directorio completo con todas las subcarpetas y archivos secundarios. Si necesita copiar una carpeta con una gran cantidad de archivos, o desea que el contenido de las carpetas de los usuarios de destino se actualice siempre cuando se actualice cualquier archivo en el origen, puede crear un script de inicio de sesión simple y ejecutarlo a través del GPO.
Vamos a crear un script de inicio de GPO para copiar todos los archivos nuevos (y modificados) desde el directorio de origen a las computadoras de los usuarios:
Cree un archivo por lotes en Sysvol: CopyCorpApp.bat:
IF EXIST "C:\CorpApp" EXIT MD "C:\CorpApp" xcopy \\fs01\Sources\CorpApp\*.* C:\CorpApp /e /y /k /r /d /iEn algunos casos, es preferible utilizar el comando robocopy más potente para copiar archivos.
Este script copiará toda la estructura de directorios y todos los archivos con atributos. Solo se copian los archivos nuevos o modificados. Esto significa que cada vez que ejecuta el script si no hay cambios en el directorio de origen, el comando xcopy no sobrescribirá los archivos.
Cree un nuevo GPO (como se describe anteriormente) y asígnelo a la unidad organizativa con las computadoras de los usuarios;
Expanda Configuración del equipo -> Políticas -> Configuración de Windows -> Scripts (inicio/apagado). Seleccione Inicio;
Haga clic en el botón Agregar y especifique la ruta UNC a su secuencia de comandos en SysVol;
Reinicie la computadora del usuario y asegúrese de que la carpeta de origen se haya copiado correctamente.












