Предоставить администраторам полный доступ к папкам переносимых профилей (Grant-RoamingProfilesAccess)
Возможно, у вас уже была следующая проблема: вы используете мобильные профили. Вы являетесь администратором домена. Вы не можете получить доступ к папке мобильных профилей. Вам нужно взять на себя право собственности на каждую папку и предоставить себе доступ ко всем подпапкам внутри родительской папки. Это неприятно. Теперь это в прошлом. Просто используйте мою расширенную функцию PowerShell Grant-RoamingProfilesAccess, чтобы получить доступ ко всем папкам и файлам профилей.
Папка с профилями пользователя
В моем случае все мобильные профили хранятся на моем контроллере домена в c:\Profiles.
Когда я пытаюсь получить доступ к этой папке, мне говорят, что доступ запрещен.
У вас в настоящее время нет разрешений для доступа к этой папке.
Если вы сейчас думаете, что можете получить доступ просто следуя инструкциям и нажав «Продолжить», то вы правы. Но что, если вам нужен доступ ко всем профилям? Это очень утомительно выполнять работу для всех папок. Это навело меня на мысль: я сделаю функцию, чтобы предоставить доступ ко всем профилям и подпапкам профилей. Давайте начнем.
Взлом в папки профилей
Во-первых, нам нужно взять права собственности на все папки. Во-вторых, мы должны предоставить полный доступ группе администраторов. Моя функция сделает всё это.
Вот он в действии:
Grant-RoamingProfilesAccess -Path C:\Profiles\
После выполнения этой команды администраторы имеют полный доступ ко всем папкам, включая подпапки.
Функция Grant-RoamingProfilesAccess
Вот код:
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://active-directory.ru
[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
}
}
Сделай это постоянным
Скопируйте этот код в вашу сессию PowerShell ISE и выполните код. Затем введите команду и получайте удовольствие от этого. Или скачайте его здесь:
Предоставить доступ к профилям roaming
Если вы хотите сделать функцию постоянно доступной, чтобы она была доступна каждый раз при запуске PowerShell, вам необходимо создать папку в C:\Program Files\WindowsPowerShell\Modules. Назовите ее Grant-RoamingProfilesAccess. Затем сохраните код в формате .psm1 в этой папке. Скриншот ниже поможет вам.



