Inquiridor
Script AD - Locked Out Accounts

Pergunta
-
Bom dia Pessoal,
Gostaria de listar os usuários que estão com as contas bloqueadas no AD(não desativadas), pois através de DSQuery não é possível.
Com certeza através do PowerShell teria essa possibilidade mas ainda não tenho muita exepriência com o mesmo.
Alguém sabe com ofazê-lo?
Desde já agradeço
Obrigado
Todas as Respostas
-
Roberto, segue o script
On Error Resume Next
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnectionobjCommand.Properties("Page Size") = 1000
objCommand.CommandText = _
"<LDAP://dc=teste,dc=com,dc=br>;(&(objectCategory=User)" & _
"(userAccountControl:1.2.840.113556.1.4.803:=4));Name;Subtree"
Set objRecordSet = objCommand.ExecuteobjRecordSet.MoveFirst
Do Until objRecordSet.EOF
Wscript.Echo objRecordSet.Fields("Name").Value
objRecordSet.MoveNext
Loop -
-
-
-
Olá,
sugiro retirar o On Error Resume Next das primeiras linhas. Esta instrução faz com que as mensagens de erro não sejam exibidas. com elas, poderemos saber o que está acontecendo.
[]s,
Vinicius Canto
MVP Windows Server - Admin Frameworks -
Então,
fiz conforme o sugerido, tirando o tratamento de erros da primeira linha e a mensagem que me retorna é a seguinte:
C:\>locked.vbs
C:\locked.vbs(14, 1) ADODB.Recordset: Either BOF or EOF is True, or the current
record has been deleted. Requested operation requires a current record.Obrigado
-
Roberto, segue o script correto te passei um paramentro errado
On Error Resume Next
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnectionobjCommand.Properties("Page Size") = 1000
objCommand.CommandText = _
"<LDAP://dc=teste,dc=com,dc=br>;(&(objectCategory=User)" & _
"(userAccountControl:1.2.840.113556.1.4.803:=16));Name;Subtree"
Set objRecordSet = objCommand.ExecuteobjRecordSet.MoveFirst
Do Until objRecordSet.EOF
Wscript.Echo objRecordSet.Fields("Name").Value
objRecordSet.MoveNext
Loop -
-
-