Você pode usar chamadas LDAP padrão por meio de um idioma como o PHP ou usar chamadas específicas do AD de um produto Microsoft (C # com a biblioteca DirectoryServices, por exemplo). Eu não tenho o Exchange, por isso não sei quais são os atributos brutos das caixas de correio, mas para ver se uma conta está desabilitada, você deve verificar o atributo "userAccountControl" para cada usuário e interpretar os sinalizadores numéricos para ver se a conta está desativada (a lista de sinalizadores pode ser vista aqui: link )
O processo básico para o script seria:
-
Vincule ao Active Directory usando LDAP (PHP, perl etc.) ou DirectoryService (Visual Basic, C #).
-
Faça uma pesquisa por todos os objetos de usuário (objetos com um SamAccountType de 30000000 em hex) que estão desabilitados (objetos com um valor hexadecimalAccountControl contendo '2' em sua forma inteira)
-
Faça um loop pelos objetos resultantes e faça uma chamada para determinar quais têm caixas de correio ativas (mais uma vez, não uso o Exchange, por isso não tenho uma boa resposta aqui).
-
Imprima ou grave no arquivo alguns atributos apropriados toda vez que receber um hit em # 3 (sAMAccountName, dn e cn seriam bons lugares para começar) junto com talvez um carimbo de data para o relatório inteiro. / p>