Otorgar a los administradores acceso de control total a las carpetas de perfiles móviles (Grant-RoamingProfilesAccess)
Quizás ya tuviste el siguiente problema: estás usando perfiles móviles. Eres el administrador del dominio. No puede acceder a la carpeta de perfiles móviles. Debe tomar posesión de cada carpeta y otorgarse acceso a cada subcarpeta dentro de la carpeta principal. Es una molestia. Eso ya se acabó. Simplemente use mi función avanzada de PowerShell Grant-RoamingProfilesAccess para obtener acceso a todas las carpetas y archivos de perfiles.
La carpeta de perfiles móviles
En mi caso, todos los perfiles móviles se almacenan en mi controlador de dominio en c:\Profiles.
Cuando intento acceder a esa carpeta, aparece un acceso denegado.
Actualmente no tienes permisos para acceder a esta carpeta.
Si ahora cree que puede obtener acceso simplemente siguiendo las instrucciones y haciendo clic en Continuar, entonces tiene razón. ¿Pero qué pasa si necesitas acceso a todos los perfiles? Es muy tedioso hacer el trabajo para todas las carpetas. Eso me llevó a una idea: haré que funcione para otorgar acceso a todos los perfiles y subcarpetas de perfiles. Entremos.
Irrumpir en las carpetas de perfiles
En primer lugar, tenemos que tomar propiedad de todas las carpetas. En segundo lugar, tenemos que conceder acceso completo al grupo de administradores. Mi función hará todo eso.
Aquí está en acción:
Grant-RoamingProfilesAccess -Path C:\Profiles\
Después de ejecutar ese comando, los administradores tienen acceso completo a todas las carpetas, incluidas las subcarpetas.
La función Grant-RoamingProfilesAccess
Aquí está el código:
function Grant-RoamingProfilesAccess {
# .SYNOPSIS
# Grant-RoamingProfilesAccess is an advanced Powershell function. It takes ownership of the users roaming profiles folders and grants the administrators group full access.
# .DESCRIPTION
# Uses takeown and icacls. Define the path to the roaming profiles root directory.
# .PARAMETER
# Path
# Enter the path to the roaming profiles root folder.
# .EXAMPLE
# Grant-RoamingProfilesAccess -Path C:\Profiles\
# .NOTES
# Author: Patrick Gruenauer
# Web:
# https://sid-500.com
[CmdletBinding()]
param
(
[Parameter(Position=0,Mandatory=$true,Helpmessage = 'Enter Path to the Roaming Profiles Root Directory')]
$Path
)
$ErrorActionPreference="SilentlyContinue"
Get-ChildItem $Path -Recurse |
ForEach-Object {
takeown /f $_.FullName /a
icacls $_.Fullname /grant "administrators:(OI)(CI)F" /t
}
}
Hazlo permanente
Copie este código en su sesión de PowerShell ISE y ejecútelo. Luego escribe el comando y diviértete con él. O descárgalo aquí:
Grant-RoamingProfilesAcceso
Si desea que la función esté disponible permanentemente, de modo que esté allí cada vez que inicie PowerShell, debe crear una carpeta en C:\Program Files\WindowsPowerShell\Modules. Nómbrelo Grant-RoamingProfilesAccess. Luego guarde el código como archivo .psm1 en esa carpeta. La siguiente captura de pantalla le ayudará.



