/ / Como faço para pesquisar no Active Directory para encontrar todos os usuários habilitados que existem em duas unidades organizacionais diferentes do mesmo domínio? - windows, powershell, servidor, windows-server-2012-r2

Como faço para pesquisar no Active Directory para encontrar todos os usuários habilitados que existem em duas unidades organizacionais diferentes do mesmo domínio? - windows, powershell, servidor, windows-server-2012-r2

Eu não sou muito versado em scripts, mas souprocurando auditar rotineiramente os usos habilitados em nosso domínio do Active Directory. Temos usuários divididos em várias unidades organizacionais e eu gostaria de pesquisar todos os usuários que estão habilitados e exportar essas informações em um único arquivo csv para revisão por outro departamento.

Eu gostaria de fazer isso com o Powershell, mas não sou casada com esse método.

No momento, estou usando o seguinte para criar dois arquivos, mas estou tendo dificuldade em refinar as informações para apenas o primeiro e o último nome e, em seguida, obtendo os dados de diferentes em um arquivo.

Qualquer ajuda seria apreciada.

Get-ADUser -Filter "enabled -eq $true" -SearchBase "OU=corporate office,OU=company users,DC=company,DC=com" | export-csv -Path c:filescorporate_users.csv

e

Get-ADUser -Filter "enabled -eq $true" -SearchBase "OU=branch office,OU=company users,DC=company,DC=com" | export-csv -Path c:filesbranch_users.csv

Respostas:

0 para resposta № 1

Um objeto pode e sempre existe em apenas um local no Active Directory. Por essa afirmação, NÃO, um usuário não pode existir em duas OUs diferentes em um domínio do Active Directory ao mesmo tempo.

Portanto, em termos do AD, uma conta de usuário tem um atributo de valor único na UO e um atributo de vários valores em grupos.

Você está fazendo absolutamente certo. Eu estou apenas fazendo um roteiro único para você que você pode utilizar como por sua exigência. Basta criar um único arquivo ps1 e executar o script abaixo.

Eu adicionei comentários também no script para sua referência.

# First line is creating the CSV File and capturing only the Four Properties which I have passed in the Select part
Get-ADUser -Filter "enabled -eq $true" -SearchBase "OU=corporate office,OU=company users,DC=company,DC=com" |Select Name,SamAccountName,DistinguishedName,Surname| export-csv -Path c:filescorporate_users.csv

# Second line is Appending the data in the same csv file which the 1st line has been created with the same properties.
Get-ADUser -Filter "enabled -eq $true" -SearchBase "OU=branch office,OU=company users,DC=company,DC=com" |Select Name,SamAccountName,DistinguishedName,Surname| export-csv -Path c:filesbranch_users.csv -Append

# You can segregate them using the DistinguisedName property which will tell that a user is part of which OU.

NOTA: Você pode escolher todas as propriedades do usuário no Selecione como por sua exigência.

Sinta-se à vontade para aceitar a resposta se isso satisfaz você e ajudará os outros também.


0 para resposta № 2

ok, então tudo que você precisa fazer aqui é armazenar oresultados de seu primeiro comando como uma matriz em uma variável, em seguida, adicionar os resultados do segundo comando para essa matriz, depois disso, podemos ir em frente e filtrar os resultados e, em seguida, exportar para o arquivo CSV.

$results = Get-ADUser -Filter "enabled -eq $true" -SearchBase "OU=corporate office,OU=company users,DC=company,DC=com"
$results += Get-ADUser -Filter "enabled -eq $true" -SearchBase "OU=branch office,OU=company users,DC=company,DC=com"

$results | select-object GivenName,SurName | export-csv -Path c:filesbranch_users.csv

Note que se você planeja obter TODOS os usuários habilitados, você pode simplesmente eliminar -SearchBase parâmetro e execute o Get-Aduser com apenas o filtro. você também pode querer tentar correr Get-aduser SOMEUSERNAME -properties * | Get-Member que mostrará os nomes das (muitas) propriedades disponíveis nos objetos ADUSER.