Parece que perdi um *
. O código correto é:
dsquery * -Filter "(userAccountControl:1.2.840.113556.1.4.803:=2)"
1) Eu tenho uma lista de txt com sAMAaccountNames
2) Eu preciso consultar cada nome de conta e verificar se ela está desativada
3) se a conta estiver desativada, exclua-a do AD
Vou apenas excluí-los manualmente se não houver outro jeito, mas primeiro preciso verificar todas as contas da minha lista para ver se elas estão desativadas ou não.
Eu tenho o powershell v2.0 instalado neste servidor e o DC é o windows server 2003. O servidor de gerenciamento é o windows server 2008.
Eu não tenho o módulo do Active Directory e também não consigo instalá-lo.
Como posso fazer isso com o CMD / VBScript ou o PowerShell v2.0?
Eu tentei executar
dsquery -Filter "(userAccountControl:1.2.840.113556.1.4.803:=2)"
mas recebi o seguinte erro dsquery failed:The parameter is incorrect.:Incorrect object type specified. type dsquery /? for help.
PowerShell
Get-ADUser -Identity SamAccountName
retorna o objeto do usuário para SamAccountName.
Para obter a propriedade enabled, use:
Get-ADUser -Identity SamAccountName | Select-Property Enabled
.
Ou
(Get-ADUser -Identity SamAccountName).Enabled
.
Editar: Ou, sem o módulo AD do PowerShell ou PS 3.0+, use o ADUC para implementar uma consulta LDAP, ajustar as colunas de exibição para incluir o que você deseja e exportar os resultados para um arquivo. Veja como (TechNet).