Permissões de pasta de redirecionamento no Windows 2012 R2

1

Eu tenho um servidor de arquivos 2012R2 ( server-docs ) e um servidor 2012R2 Citrix XenApp / RDS ( server-rds ). Os usuários devem ser membros de UsersRDS para fazer logon no server-rds .

Estas são as configurações do meu GPO para o redirecionamento de documentos:

  • Básico: redireciona a pasta de todos para o mesmo local
  • Crie uma pasta para cada usuário no caminho raiz
  • Pasta raiz: \server-docs\UserDocs
  • Direitos exclusivos desmarcados

Eu segui este artigo do MS para definir permissões na pasta raiz: link

  • Proprietário: Controle total, subpastas e arquivos somente
  • UsersRDS : Listar Pasta / Ler Dados, Criar Pastas / Acrescentar Dados - Somente Esta Pasta
  • Administradores: controle total
  • Sistema: Controle Total, Esta Pasta, Subpastas e Arquivos

Quando eu faço logon server-rds com TestUser , o redirecionamento da pasta ocorre e eu recebo uma pasta \server-docs\UserDocs\TestUser\Documents .

TestUser e sua subpasta Documents têm as mesmas permissões:

  • Proprietário: Controle total, subpastas e arquivos somente
  • UsersRDS : Listar Pasta / Ler Dados, Criar Pastas / Acrescentar Dados - Somente Esta Pasta
  • Administradores: controle total
  • Sistema: Controle Total, Esta Pasta, Subpastas e Arquivos
  • TestUser : controle total, somente esta pasta

Eu tenho outro servidor de arquivos 2003 e um servidor RDS 2003, com as mesmas permissões de pasta raiz Eu tenho apenas isso na pasta Documentos do usuário:

  • Administradores: controle total
  • TestUser : controle total

Se eu verificar Grant the user exclusive Rights on Document folder no GPO, executar gpupdate /force em server-rds , server-rds não poderá fazer o redirecionamento de pasta no logon e obtenho o ID de evento 1085: Windows failed to apply folder redirection settings.

Como posso desativar a herança de documentos do usuário para obter as mesmas permissões (como meus servidores de 2003)?

    
por Dric 09.07.2015 / 16:17

1 resposta

0

Como a ACL estranha parece ser por design, eu tive que verificar e alterá-los, se necessário, durante o logon do usuário com um script Powershell:

Function Repair-UserFullControlACL {
Param(
    [Parameter(Mandatory=$true)]
    [ValidateScript({Test-Path $_ -PathType "Container"})]
    [string]$Folder
)

# We also add System account and local administrators (Replace these french account names if needed)
$OtherAccounts = @("AUTORITE NT\Système", "BUILTIN\Administrateurs", "CREATEUR PROPRIETAIRE")

# 'FullControl' for the user
$ACLUser = New-Object System.Security.Principal.NTAccount($FullUserName)
$Rule = New-Object System.Security.AccessControl.FileSystemAccessRule($ACLUser, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")

# We need the actual folder ACL
$Acl = Get-ACL $Folder

# Checking if everything already OK...
$RuleOK = $False
ForEach ($ACLRule in $Acl.Access){
    If (-not(Compare-Object ($Rule | Format-List * | Out-String -Stream) ($ACLRule | Format-List * | Out-String -Stream))){
        $RuleOK = $True
        break
    }
}
# Adding fullControl if needed
If (-not($RuleOK)){
    Try{
        $Acl.AddAccessRule($Rule)

        ForEach ($Account in $OtherAccounts){
            $ACLAccount = New-Object System.Security.Principal.NTAccount($Account)
            $Rule = New-Object System.Security.AccessControl.FileSystemAccessRule($ACLAccount, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
            $Acl.AddAccessRule($Rule)
        }
        # Saving ACL
        Set-ACL $Folder $Acl -ErrorAction Stop
    }catch{
        Write-Warning "Erreur : Impossible d'accorder le droit 'FullControl' à l'utilisateur sur $Folder : $($_.Exception.Message)"  
    }
}}

Exemplo:

Repair-UserFullControlACL "\server\shared\userHomeDir"
    
por 24.06.2016 / 14:59