Filtro LDAP para contas do AD

1

Eu quero buscar todas as contas de usuário de anúncios que não expiraram e têm uma senha em branco.

Até agora, usei um filtro ldap que busca todas as contas expiradas:

  (&(objectCategory=person)(objectClass=user) (!accountExpires=9223372036854775807) (!accountExpires=0))

Eu preciso fazer um filtro que busque todas as contas não expiradas e tenha uma senha em branco.

Alguma sugestão de quais modificações eu tenho que fazer.

    
por Frank Albert 06.09.2016 / 17:11

3 respostas

0

Já tentou inverter a sua pesquisa? Com sorte, um profissional de LDAP deve ser capaz de ajudar a colocar o 'estrondo', pode ser assim, eu apenas coloquei seu filtro em (!...) :

$filter = '(!(&(objectCategory=person)(objectClass=user) (!accountExpires=9223372036854775807) (!accountExpires=0)))'
$Users = Get-ADUser -LDAPFilter $filter

Surpreende-me que não exista uma propriedade para "IsExpired". No entanto, você pode criar o array e filtrá-lo até a data de expiração. Assim:

#List of filters, each one is a string, 
#by default use single quotes unless you need to force evaluation.  
#Make sure each property used is in the '-Properties' part or a default property.
  $Filters = 'AccountExpires -eq $True', "AccountExpirationDate -gt $(Get-Date)"
  $Users = Get-ADUser -Filter * -Properties AccountExpires, AccountExpirationDate
  Foreach ($filter in $filters) {
      $Users = $Users | where $filter
      }

Eu não sei como encontrar as senhas vazias.

    
por 06.09.2016 / 19:27
0

Você não pode consultar o valor de uma senha, mas pode consultar "Senha não obrigatória".

(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=32)(|(!accountExpires=*)(accountExpires>=131176944000000000)))
    
por 06.09.2016 / 20:43
0

Usuário da rede (nome do usuário) mostra detalhes da conta do usuário, a senha também é uma delas.

Por favor, verifique o link abaixo.

link

    
por 07.09.2016 / 03:25