Função para coletar Distinguishedname de objetos no Active Directory usando Powershell (sem importar módulos)
Esta função é utilizada para coletar o Distinguishedname de um objeto no Active Directory usando Powershell, sem a necessidade de importar módulos extras (testado com grupo, usuários e computadores). (maiores informações)
function ColetaDistinguishedName([string]$strFilter)
{
$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"
$colResults = $objSearcher.FindOne()
if ($colResults -ne $null)
{
$distinguishednameObjeto = $colResults.Properties["distinguishedname"]
return $distinguishednameObjeto
}
}
Abaixo, segue uma forma de chamada da função (pode-se colocar os trechos logo abaixo do fechamento da função em um arquivo .ps1).
$strFilter é passado por parâmetro e muda de acordo com o que se deseja.
No caso ao se desejar o Distinguishedname de um grupo, a variável $distinguishednameGrupo receberá as informações requisitadas pela função, ou, se o grupo não for encontrado, o valor será nulo.
$NomeGrupo = "nome_grupo_AD" $strFilter = "(&(objectCategory=Group)(sAMAccountName=$NomeGrupo))" $distinguishednameGrupo = ColetaDistinguishedName -strFilter $strFilter write-host $distinguishednameGrupoNo caso de desejar capturar o Distinguishedname do computador que está executando o script, $strFilter mudará:
$strFilter = "(&(objectCategory=Computer)(SamAccountname=$($env:COMPUTERNAME)`$))" $distinguishednameComputador = ColetaDistinguishedName -strFilter $strFilter write-host $distinguishednameComputadorNo caso de desejar capturar o Distinguishedname do usuário que está executando o script, $strFilter mudará:
$strFilter = "(&(objectCategory=user)(SamAccountname=$($env:USERNAME)))" $distinguishednameUsuario = ColetaDistinguishedName -strFilter $strFilter write-host $distinguishednameUsuarioPara Maiores informações sobre Distinguished Names: https://msdn.microsoft.com/en-us/library/aa366101%28v=vs.85%29.aspx Maiores informações sobre realizar buscas no Active Directory utilizando scripts do Powershell: http://rodolfo-andrade.blogspot.com.br/2015/10/aprendendo-realizar-buscas-no-active.html
Comentários
Postar um comentário