none
Problemas com senha - Script criação de usuários RRS feed

  • Pergunta

  • Boa tarde,

    Estou tentando o script abaixo, mas não consigo fazer a criação da senha funcionar. Se tiro a linha da criação de senha, ele não dá erro, cria o usuário, mas a conta fica desativada...
    Alguém pode me ajudar?
    Desde já muito obrigada!

    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open ("D:\ad\aduser\usu.xls")

    intRow = 2

    Do Until objExcel.Cells(intRow,1).Value = ""
       
        Can= objExcel.Cells(intRow, 1).Value
        sAMAccountName = objExcel.Cells(intRow, 2).Value
        givenname= objExcel.Cells(intRow, 3).Value
        sn = objExcel.Cells(intRow, 4).Value
        PW = objExcel.Cells(intRow, 5).Value
        NTName = objExcel.Cells(intRow, 6).Value
        UPN = objExcel.Cells(intRow, 7).Value
        DisplayName = objExcel.Cells(intRow, 8).Value
        Description = objExcel.Cells(intRow, 9).Value
        OfficeName = objExcel.Cells(intRow, 10).Value
          
     

    Set objOU = GetObject("LDAP://OU=contas,DC=teste,DC=com,DC=br")
    Set objUser = objOU.Create("User", "cn="&can)
    objUser.Put "sAMAccountName", Samaccountname
    objuser.put "givenName",givenname
    objuser.put "sn", sn
    objuser.put "sAMAccountName",NTName
    objuser.put "userPrincipalName",UPN
    objuser.put "displayName",DisplayName
    objuser.put "description",Description
    objuser.put "physicalDeliveryOfficeName", OfficeName
    'objuser.put "SetPassword", PWD)
    objuser.setinfo


    intRow = intRow + 1
    Loop
    objExcel.Quit

    quarta-feira, 13 de janeiro de 2010 17:56

Respostas

  • Olá,

    Verifique no seu script se é PW ou PWD a variavel que busca a senha do Arquivo Excel.


    Verifique o exemplo:

    Set objOU = GetObject("LDAP://OU=contas,DC=teste,DC=com,DC=br ")
    Set objUser = objOU.Create("User", "cn="& "teste")

    objuser.put "givenName","givenname"
    objuser.setinfo

    objuser.SetPassword "P@ssw0rd"
    objuser.setinfo

    objuser.AccountDisabled = False
    objuser.setinfo   


    O exemplo acima irá criar o usuario teste e colocar o givenName como "givenname" e a senha como P@ssw0rd.


    você só precisa colocar as variáveis ao invés de passar os valores entre Aspas. Ou seja, coloque a variavel e remova as aspas.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    • Marcado como Resposta Gláucia terça-feira, 26 de janeiro de 2010 15:55
    quinta-feira, 14 de janeiro de 2010 11:19
  • Olá,


    objUser.Put "pwdLastSet", 0
    objUser.SetInfo



    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    • Marcado como Resposta Gláucia terça-feira, 26 de janeiro de 2010 15:56
    quinta-feira, 14 de janeiro de 2010 13:57

Todas as Respostas

  • Olá,

    Tente assim:


    objUser.SetPassword PW


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quarta-feira, 13 de janeiro de 2010 19:27
  • Bom dia Jesiel,

    Tentei a instrução "objUser.SetPassword PW", mas recebo a resposta de que o objeto não existe no servidor.
    Alguma outra sugestão?

    Grata,

    Gláucia.
    quinta-feira, 14 de janeiro de 2010 10:37
  • Olá,

    Verifique no seu script se é PW ou PWD a variavel que busca a senha do Arquivo Excel.


    Verifique o exemplo:

    Set objOU = GetObject("LDAP://OU=contas,DC=teste,DC=com,DC=br ")
    Set objUser = objOU.Create("User", "cn="& "teste")

    objuser.put "givenName","givenname"
    objuser.setinfo

    objuser.SetPassword "P@ssw0rd"
    objuser.setinfo

    objuser.AccountDisabled = False
    objuser.setinfo   


    O exemplo acima irá criar o usuario teste e colocar o givenName como "givenname" e a senha como P@ssw0rd.


    você só precisa colocar as variáveis ao invés de passar os valores entre Aspas. Ou seja, coloque a variavel e remova as aspas.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    • Marcado como Resposta Gláucia terça-feira, 26 de janeiro de 2010 15:55
    quinta-feira, 14 de janeiro de 2010 11:19
  • Olá Jesiel,

    Coloquei a instrução como você me passou, e o script funcionou direitinho, a única coisa que ficou faltando para mim, é setar a opção do usuário alterar a senha no próximo login.
    Sem querer abusar... Você sabe como eu faço isso?

    Novamente, muito obrigada!


    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open ("D:\ad\aduser\usu.xls")

    intRow = 2

    Do Until objExcel.Cells(intRow,1).Value = ""
       
        Can= objExcel.Cells(intRow, 1).Value
        sAMAccountName = objExcel.Cells(intRow, 2).Value
        givenname= objExcel.Cells(intRow, 3).Value
        sn = objExcel.Cells(intRow, 4).Value
        PW = objExcel.Cells(intRow, 5).Value
        NTName = objExcel.Cells(intRow, 6).Value
        UPN = objExcel.Cells(intRow, 7).Value
        DisplayName = objExcel.Cells(intRow, 8).Value
        Description = objExcel.Cells(intRow, 9).Value
        OfficeName = objExcel.Cells(intRow, 10).Value
          
     

    Set objOU = GetObject("LDAP://OU=contas,DC=teste,DC=com,DC=br")
    Set objUser = objOU.Create("User", "cn="&can)
    objUser.Put "sAMAccountName", Samaccountname
    objuser.put "givenName",givenname
    objuser.put "sn", sn
    objuser.put "sAMAccountName",NTName
    objuser.put "userPrincipalName",UPN
    objuser.put "displayName",DisplayName
    objuser.put "description",Description
    objuser.put "physicalDeliveryOfficeName", OfficeName
    objuser.setinfo

    objuser.SetPassword "P@ssw0rd"
    objuser.setinfoobjuser.AccountDisabled = False
    objuser.setinfo   

    intRow = intRow + 1
    Loop
    objExcel.Quit

     

    quinta-feira, 14 de janeiro de 2010 13:40
  • Olá,


    objUser.Put "pwdLastSet", 0
    objUser.SetInfo



    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    • Marcado como Resposta Gláucia terça-feira, 26 de janeiro de 2010 15:56
    quinta-feira, 14 de janeiro de 2010 13:57
  • Bom dia Jesiel,


    Esse script está válido? copiei e modifiquei com a informação
    que você passou para alterar a senha no proximo logon.

    E mais uma coisa, qual seria a sequencia das colunas na planilha, ate hoje nao entendo como acrescentar as linhas caso eu queira mais informações no futuro.


    Obrigado por enquanto.





    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open ("D:\ad\aduser\usu.xls")

    intRow = 2

    Do Until objExcel.Cells(intRow,1).Value = ""
       
        Can= objExcel.Cells(intRow, 1).Value
        sAMAccountName = objExcel.Cells(intRow, 2).Value
        givenname= objExcel.Cells(intRow, 3).Value
        sn = objExcel.Cells(intRow, 4).Value
        PW = objExcel.Cells(intRow, 5).Value
        NTName = objExcel.Cells(intRow, 6).Value
        UPN = objExcel.Cells(intRow, 7).Value
        DisplayName = objExcel.Cells(intRow, 8).Value
        Description = objExcel.Cells(intRow, 9).Value
        OfficeName = objExcel.Cells(intRow, 10).Value
          
     

    Set objOU = GetObject("LDAP://OU=contas,DC=teste,DC=com,DC=br")
    Set objUser = objOU.Create("User", "cn="&can)
    objUser.Put "sAMAccountName", Samaccountname
    objuser.put "givenName",givenname
    objuser.put "sn", sn
    objuser.put "sAMAccountName",NTName
    objuser.put "userPrincipalName",UPN
    objuser.put "displayName",DisplayName
    objuser.put "description",Description
    objuser.put "physicalDeliveryOfficeName", OfficeName
    objuser.setinfo

    objuser.SetPassword "P@ssw0rd"
    objUser.Put "pwdLastSet", 0  ( FIZ A ALTERAÇÃO AQUI )
    objUser.SetInfo ( FIZ A ALTERAÇÃO AQUI )


    intRow = intRow + 1
    Loop
    objExcel.Quit

    sexta-feira, 19 de fevereiro de 2010 11:40
  • Olá

    Qual o modelo de criação da planilha de usuarios, Colunas???? como devo formatar? sem ser via excel tem alguma outra maneira que posso utilizar Dsadd user pode ser utilizado  como ?

    Obrigado


    Marcelo Rocha
    quinta-feira, 4 de março de 2010 19:43
  • Olá,

    É possivel utilizar arquivo texto... (separando por virgula por exemplo)


    Peço que abra outra Pergunta para não confundir.


    Até mais,

    Jesiel
    quinta-feira, 4 de março de 2010 20:15