Jump to content
Fórum Script Brasil
  • 0

Erro ao executar VBScript com a variavel vazia ou não existe.


carlosatchim
 Share

Question

Boa noite!

VBscript não é a minha praia, mas utilizo uma parte de VBScript junto com o AutoHotKey para consultar um Login no AD e retornar os dados como, nome, e-mail, cidade e etc sobre o login em questão.

Acontece que quando o login foi digitado errado ou não foi digitado o login, apresenta "ERROR" e assim fecha o AutoHotKey.

Preciso da ajuda de vocês para apresentar uma mensage box, informando que, caso o login não foi encontrado ou não foi digitado, apresente a janela de mensagem dizendo "Usuário / login, não encontrado no AD"

Print abaixo referente ao login estar em branco, quando o usuário esquece de informar ou digitar o login para consulta no AD:

VBSCRIPT_LOGIN_EM_BRANCO.thumb.jpg.11413

Outro print abaixo o erro de quando o usuário digitou de forma errada ou o AD não encontrou o Login informado:

VBSCRIPT_LOGIN_ERRADO.thumb.jpg.396b2ac9

Estou usando o seguinte codigo para consulta no AD:

 

objRootDSE := ComObjGet("LDAP://rootDSE")
strDomain := objRootDSE.Get("defaultNamingContext")
strADPath := "LDAP://" . strDomain
objDomain := ComObjGet(strADPath)
objConnection := ComObjCreate("ADODB.Connection")
objConnection.Open("Provider=ADsDSOObject")
objCommand := ComObjCreate("ADODB.Command")
objCommand.ActiveConnection := objConnection
CommandText := "<" . strADPath . ">" . ";(&(objectClass=User)(&(sAMAccountName=" id_usr ")))" . ";sAMAccountName,l,cn,company,title,manager,department,mail;subtree"
objCommand.CommandText := CommandText
objRecordSet := objCommand.Execute
objRecordSet.MoveFirst
Login := objRecordSet.Fields("sAMAccountName").Value
SiteCidade := objRecordSet.Fields("l").Value
NomeReorientado := objRecordSet.Fields("cn").value
SiteEmpresa := objRecordSet.Fields("company").Value
Cargo := objRecordSet.Fields("title").Value
Redepartmento := objRecordSet.Fields("department").Value
Remail := objRecordSet.Fields("mail").Value
Manager := objRecordSet.Fields("manager").Value

Desde já agradeço pela ajuda de todos, muito obrigado!

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Resolvido!

 

   {
    objRootDSE := ComObjGet("LDAP://rootDSE")
    strDomain := objRootDSE.Get("defaultNamingContext")
    strADPath := "LDAP://" . strDomain
    objDomain := ComObjGet(strADPath)
    objConnection := ComObjCreate("ADODB.Connection")
    objConnection.Open("Provider=ADsDSOObject")
    objCommand := ComObjCreate("ADODB.Command")
    objCommand.ActiveConnection := objConnection
    CommandText := "<" . strADPath . ">" . ";(&(objectClass=User)(&(sAMAccountName=" id_usr ")))" . ";sAMAccountName,l,cn,company,title,manager,department,mail;subtree"
    objCommand.CommandText := CommandText
    objRecordSet := objCommand.Execute
    
    If objRecordSet.RecordCount = 0 Then
    {
     MsgBox,48,LOGIN NÃO LOCALIZADO,LOGIN:"%id_usr%" NÃO ENCONTRADO NA BASE DE DADOS!
     Return
    }
    
    else
    objRecordSet.MoveFirst
    Login := objRecordSet.Fields("sAMAccountName").Value
    NomeReorientado := objRecordSet.Fields("cn").value
    SiteCidade := objRecordSet.Fields("l").Value
    SiteEmpresa := objRecordSet.Fields("company").Value
    Cargo := objRecordSet.Fields("title").Value
    Redepartmento := objRecordSet.Fields("department").Value
    Remail := objRecordSet.Fields("mail").Value
    Manager := objRecordSet.Fields("manager").Value
   }

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647k
×
×
  • Create New...