Permissões do Diretório de Script Powershell

1

Existe uma maneira de clonar as permissões de um diretório em um arquivo e, em seguida, executar esse arquivo em outro servidor para recriar essas permissões na estrutura recriada.

Eu tenho um script para criar os diretórios:

New-Item -Path D:\superuser-data -ItemType directory
Net-Item -Path D:\superuser-data\documents -ItemType directory
Net-Item -Path D:\superuser-data\scripts -ItemType directory

Eu rodei esse script e configurei as permissões da maneira que eu quero com as contas do AD no Servidor A.

Depois, quero a capacidade de executar novamente esse script no Servidor B e, em seguida, executar outro script no Servidor B que define as permissões para corresponder ao que eu fiz no Servidor A.

    
por Nick 30.05.2018 / 19:54

1 resposta

1

A partir daqui: link

O Powershell contém os comandos get-acl e set-acl e você pode canalizá-los juntos:

Get-Acl -Path C:\Folder1 | Set-Acl -Path C:\Folder2

Esses caminhos podem ser UNC ou outros métodos de caminho apropriados, então eles devem ser capazes de trabalhar em redes.

Atualização:

Os descritores de segurança PODEM ser copiados e armazenados. O seguinte não é o processo mais eficiente, é a primeira vez que eu tentei fazer isso, mas é funcional.

Algumas pesquisas do Google, refinadas e iterativamente, me trouxeram até aqui: link

E aqui está o processo.

  1. Capture a ACL do computador de origem:
    $SDout = get-acl -path (source folder)
  2. Armazene o SDDL na área de transferência:
    $SDout.GetSecurityDescriptorSddlForm('All') | clip.exe
  3. Cole no bloco de notas e vá para o computador de destino.
  4. Copie SOMENTE o SDDL de linha única para a área de transferência.
  5. Armazene o SDDL de origem em um parâmetro:
    $SDsource = '(paste the source SDDL here)'
  6. Capture o objeto ACL de destino em um parâmetro:
    $SDtarget = get-acl -path (target folder)
  7. Sobrescrever o SDDL do alvo com o SDDL da fonte:
    $SDtarget.SetSecurityDescriptorSddlForm($SDsource)
  8. Escreva a ACL modificada de volta à pasta de destino:
    set-acl -Path (target folder) -ACLObject $SDtarget

Verificando as propriedades agora você deve ver a pasta de destino com as mesmas permissões que a pasta de origem.

    
por 30.05.2018 / 20:04