11

ОБНОВЛЕНИЕ Несмотря на то, что я мог использовать метод, описанный в принятом ответе, однажды он не удался во второй раз или просто доставлял слишком много хлопот.

В поисках дальнейшего я нашел SetACL Хельге Кляйн, который намного лучше и делает именно то, что нужно.


Я не могу получить доступ к определенным папкам, например, c:\Program Files\WindowsApps . В командной строке я получаю сообщение об ошибке « Доступ запрещен », а в проводнике Windows появляется диалоговое окно с сообщением « У вас нет прав доступа к этой папке ».

Нажатие на кнопку « Продолжить» дает мне доступ, но я хотел бы предоставить мне доступ с помощью командной строки; так что мои сценарии не сталкиваются с этой проблемой, работающей в том же контексте безопасности.

Я нашел этот вопрос в Microsoft Technet, но не смог заставить его работать. Обратите внимание, что я уже использую Powershell от имени администратора.

PS C:\WINDOWS\system32> icacls "C:\Program Files\WindowsApps" /grant i063510:F /inheritance:e
C:\Program Files\WindowsApps: Access is denied.
Successfully processed 0 files; Failed processing 1 files
PS C:\WINDOWS\system32> icacls "C:\Program Files" /grant i063510:F /inheritance:e
C:\Program Files: Access is denied.
Successfully processed 0 files; Failed processing 1 files

Если это имеет значение, я использую Windows 10, обновленную с Windows 8.1.

1 ответ1

7

У вас нет прав доступа к этой папке

Попробуйте ICACLS и / или TAKEOWN с приведенным ниже синтаксисом для папки с именем пользователя при необходимости.

Сначала попробуйте только команды ICACLS, и если это не помогло, запустите команды TAKEOWN, а затем снова введите команды ICACLS .


Команды ICACLS

  • Предоставьте явный полный доступ к этой папке всем подпапкам и файлам, оставив все унаследованные разрешения на месте и продолжая работу при ошибке

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • Предоставьте явное изменение прав доступа к этой папке всем подпапкам, файлам, оставив все унаследованные разрешения на месте, и продолжайте работу при ошибке

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • Измените владельца этой папки и всех вложенных папок и файлов и продолжайте в случае ошибки

    ICACLS "<FolderPath>" /SETOWNER "<UserName>" /T /C
    

ПРИНЯТЬ Команды

  • Запустите эту учетную запись как учетную запись, которой вы хотите предоставить право собственности, и она будет изменена на владельца папки и всех вложенных папок и файлов.

    TAKEOWN /F "<FolderPath>" /R /D Y
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .