Linha de comando para obter permanentemente acesso à pasta


13

ATUALIZAÇÃO Enquanto eu era capaz de usar o método descrito na resposta aceita, uma vez que falhou uma segunda vez ou estava dando muitos problemas.

Pesquisando mais, encontrei o SetACL de Helge Klein, que é muito superior e faz exatamente o que é necessário.


Não consigo acessar determinadas pastas, por exemplo c:\Program Files\WindowsApps. Na linha de comando, recebo o erro " Acesso negado " e no Windows Explorer, aparece uma caixa de diálogo informando "No momento, você não tem permissão para acessar esta pasta "

insira a descrição da imagem aqui

Clicar em Continuar me dá acesso, mas eu gostaria de me conceder acesso usando a linha de comando; para que meus scripts não tenham esse problema em execução no mesmo contexto de segurança.

Encontrei esta pergunta no Microsoft Technet, mas não consegui fazê-la funcionar. Observe que já estou executando o Powershell como administrador.

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

Se isso for importante, estou usando o Windows 10 atualizado do Windows 8.1 .

Respostas:


12

No momento, você não tem permissão para acessar esta pasta

Tente ICACLS e / ou TakeOwn com o abaixo sintaxe contra a pasta com o nome de usuário, conforme necessário.

Tente apenas os comandos ICACLS primeiro e, se isso não resolver , execute os comandos TAKEOWN e, em seguida , execute os comandos ICACLS novamente.


Comandos do ICACLS

  • Conceda acesso explícito de controle total a esta pasta a todas as subpastas e arquivos, deixando todas as permissões herdadas em vigor e continue com erro

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • Conceda acesso explícito de modificação a esta pasta a todas as subpastas e arquivos, deixando todas as permissões herdadas em vigor e continue com erro

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • Altere o proprietário desta pasta e tudo abaixo das subpastas e arquivos e continue com erro

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

Comandos TAKEOWN

  • Execute isso como a conta à qual você deseja conceder a propriedade e ela será alterada para o proprietário da pasta e tudo abaixo das subpastas e arquivos

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

Obrigado. Eu quero evitar TAKEOWN/ SETOWNER. Estou assumindo que ele altera o proprietário e o Windows Explorer apenas atribui permissão.
— Variável miserável

Você pode confirmar se apenas a ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(OI)(CI)(X,M,F) /T /Cvontade lhe dará o resultado esperado? Atualizarei minha resposta com mais detalhes, se houver.
— Pimp Juice IT

Você tem que tomar posse da pasta se você quiser permissões para essa pasta específica, qualquer outra pasta, você poderia evitar a posse tomada
— Ramhound

Isso funciona para mim: ICACLS "C:\Program Files\WindowsApps" /INHERITANCE:e /GRANT:r i063510:F /T /C. Obrigado pela ajuda. @ Ramhound Não consegui entender do seu comentário quando preciso ou não preciso me apropriar.
— Variável miserável

@MiserableVariable Acabei de atualizar minha resposta com mais detalhes também.
— Pimp Juice IT
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.