PowerShell: substituindo as ACLs do AD DS

1

Estou procurando um exemplo de código que mostre como um conjunto de permissões em um determinado objeto do Active Directory (no meu caso, uma Unidade Organizacional) poderia ser modificado de forma que as permissões de uma entidade de segurança fossem substituídas por outra. semelhante ao que o utilitário de kit de recursos subinacl está fazendo para ACLs de sistema de arquivos e registro com a sintaxe subinacl [...] replace=olduser=newuser [...] .

Eu tentei criar uma maneira elegante usando uma sequência de Get-ACL(Get-ADOrganizationalUnit [...]).DistinguishedName e Set-ACL -InputObject [...] chamadas, mas parece incapaz de descobrir como substituir os identificadores de usuário / grupo no objeto de ACL retornado por Get-ACL pelo desejado queridos.

Qualquer ideia é apreciada.

    
por the-wabbit 06.03.2013 / 10:08

1 resposta

1

Eu criei uma função CopyDsAcl genérica, hospedada no meu bitbucket , para executar essas cópias do ACL dos Serviços de diretório. Você está convidado a usá-lo como referência ou ferramenta. O feedback é muito bem-vindo.

Para substituir as ACEs por "olduser" na UO "someU" com ACEs para "newuser", você poderia fazer o seguinte:

CopyDsAcl -sourcePrincipal (Get-ADUser olduser) -sourceObject (Get-ADOrganizationalUnit "OU=someOU,DC=example,DC=com") -targetPrincipal (Get-ADUser newuser) -removeSourceAces

Esses artigos foram muito úteis para encontrar uma maneira de unir o .NET, o AD e o ACL:

por 15.03.2013 / 17:05