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