Powershell falha ao recuperar pwdLastSet do Active Directory

4

Alguém pode identificar um erro no comando Powershell tentando extrair o pwdLastSet do Active Directory para alguns usuários?

Para algumas contas, funciona:

PS C:\> get-aduser -filter "name -like 'Admin*'" -Properties pwdLastSet | Select -first 1 name,pwdLastSet  | format-list

name       : Administrator
pwdLastSet : 131254235816382539

Para alguns, não:

PS C:\> get-aduser -filter "name -like 'G*Ol*'" -Properties pwdLastSet | Select -first 1 name,pwdLastSet  | format-list


name       : Grzegorz Olędzki
pwdLastSet :

O que precisa ser observado é que a propriedade parece estar definida quando recuperada da GUI:

O problema afeta consistentemente várias contas, então eu suspeito que há algo que eu simplesmente não entendo.

    
por GrzegorzOledzki 08.12.2016 / 21:32

2 respostas

2

Verifique e verifique se você está executando o powershell como administrador. Esse problema pode ocorrer se sua instância não for elevada, pois algumas políticas de senha (GPO) provavelmente estarão ocultas.

    
por 09.12.2016 / 14:16
-1

Aqui está uma função que você pode usar para testar:

function Get-PwdLastSet {
  param(
    [parameter(Mandatory=$true)] [String] $sAMAccountName
  )
  $searcher = [ADSISearcher] "(&(pwdLastSet=*)(sAMAccountName=$sAMAccountName))"
  $searcher.PropertiesToLoad.AddRange(@("pwdLastSet","sAMAccountName"))
  $searchResult = $searcher.FindOne()
  if ( $searchResult ) {
    $pwdLastSet = $searchResult.Properties["pwdlastset"][0]
    if ( $pwdLastSet -gt 0 ) {
      [DateTime]::FromFileTime($pwdLastSet)
    }
    else {
      "Password is expired"
    }
  }
}

Se este script não conseguir ler o atributo pwdLastSet , a única explicação que posso pensar é que o usuário que está executando o script não tem permissão para ler esse atributo do Active Directory. AFAIK, esse atributo deve ser legível por padrão a todos os membros de Domain Users , portanto, pode ser que as permissões de objeto do Active Directory tenham sido alteradas dos padrões.

    
por 08.12.2016 / 23:06