none
Script para colocar conta de micro em um grupo. RRS feed

Respostas

  • Olá,

    Verifique se o script abaixo te atende:



    Set objDSE = GetObject("LDAP://rootDSE")
    strDefaultDN = "CN=ComputadorA,CN=Computers," & objDSE.Get("defaultNamingContext")

    strNomeGrupo =     InputBox("Coloque o Dinstinguished name do Grupo", , "CN=GrupoA,OU=Grupos," & objDSE.Get("defaultNamingContext"))
    If strNomeGrupo = "" Then WScript.Quit(1)

    strDN =     InputBox("Coloque o Distinguished name do Computador" & _
        vbCrLf & "(Exemplo: " & strDefaultDN & ")", , strDefaultDN)

    If strDN = "" Then WScript.Quit(1)       

    Set objComputador = GetObject("LDAP://" & strDN)


    Set objGrupo = GetObject  ("LDAP://" & strNomeGrupo)
    objGrupo.PutEx 3,"member", Array(strDN)
    objGrupo.SetInfo



    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    • Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 16:05
    • Não Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 16:10
    • Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 16:10
    terça-feira, 18 de agosto de 2009 12:00
  • Olá,

    Se você passar o caminho conforme o exemplo: "CN=GrupoA,OU=Grupos,DC=CONTOSO,DC=LOCAL"

    Você pode usar assim:

    if UCASE(MID(strDN,4,2)) = "CP" Then
       executaacaoOUA
    Elseif UCASE(MID(strDN,4,2)) = "ES"
       executaacaoOUB
    Else
       executaacaoOUDEFAULT
    End if


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    • Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 17:33
    quarta-feira, 19 de agosto de 2009 16:59

Todas as Respostas

  • Olá,

    Verifique se o script abaixo te atende:



    Set objDSE = GetObject("LDAP://rootDSE")
    strDefaultDN = "CN=ComputadorA,CN=Computers," & objDSE.Get("defaultNamingContext")

    strNomeGrupo =     InputBox("Coloque o Dinstinguished name do Grupo", , "CN=GrupoA,OU=Grupos," & objDSE.Get("defaultNamingContext"))
    If strNomeGrupo = "" Then WScript.Quit(1)

    strDN =     InputBox("Coloque o Distinguished name do Computador" & _
        vbCrLf & "(Exemplo: " & strDefaultDN & ")", , strDefaultDN)

    If strDN = "" Then WScript.Quit(1)       

    Set objComputador = GetObject("LDAP://" & strDN)


    Set objGrupo = GetObject  ("LDAP://" & strNomeGrupo)
    objGrupo.PutEx 3,"member", Array(strDN)
    objGrupo.SetInfo



    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    • Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 16:05
    • Não Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 16:10
    • Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 16:10
    terça-feira, 18 de agosto de 2009 12:00
  • Tenho o seguinte script, mais não funciona.

    Option Explicit
    Dim strOU, strGroup, strUser, strDNSDomain, strDefaultDN
    Dim objRootLDAP, objGroup, objUser
    strUser = InputBox("Coloque o nome do micro", , strDefaultDN)
    '  Check these objects referenced by strOU, strGroup exist in strOU
    strOU = "OU=Notebooks,OU=TI,OU=TI-RIO,DC=petrobras,DC=biz,"
    strUser = "CN=strUser,"
    strGroup = "CN=GG_PETROBRAS_ADM_LOCAL_ESTACOES,"

    '  Bind to Active Directory and get LDAP name
    Set objRootLDAP = GetObject("LDAP://RootDSE")
    strDNSDomain = objRootLDAP.Get("DefaultNamingContext")

    '  Add (str)User to (str)Group
    Set objUser = GetObject("LDAP://"& strUser _
    & strOU & strDNSDomain)
    Set objGroup = GetObject("LDAP://"& strGroup _
    & strOU & strDNSDomain)
    objGroup.add(objUser.ADsPath)

    WScript.Echo "Check " & strOU & " for " & strGroup & " = " & strUser

    Wscript.Quit

    Leonardo Sousa
    terça-feira, 18 de agosto de 2009 12:36
  • Alterei seu script... verifique se funciona:



    Dim strOU, strGroup, strUser, strDNSDomain, strDefaultDN
    Dim objRootLDAP, objGroup, objUser
    strUser = InputBox("Coloque o nome do micro", , strDefaultDN)
    '  Check these objects referenced by strOU, strGroup exist in strOU
    strOU = "OU=Notebooks,OU=TI,OU=TI-RIO,"
    strUser = "CN=" & strUser & ","
    strGroup = "CN=GG_PETROBRAS_ADM_LOCAL_ESTACOES,"

    '  Bind to Active Directory and get LDAP name
    Set objRootLDAP = GetObject("LDAP://RootDSE")
    strDNSDomain = objRootLDAP.Get("DefaultNamingContext")

    '  Add (str)User to (str)Group
    Set objUser = GetObject("LDAP://"& strUser _
    & strOU & strDNSDomain)
    Set objGroup = GetObject("LDAP://"& strGroup _
    & strOU & strDNSDomain)
    objGroup.add(objUser.ADsPath)

    WScript.Echo "Check " & strOU & " for " & strGroup & " = " & strUser

    Wscript.Quit


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    terça-feira, 18 de agosto de 2009 12:44
  • Olá,

    Leo Sousa, funcionou dessa forma???


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    quarta-feira, 19 de agosto de 2009 14:49
  • Como uso um curringa em nomes?
    EX.

    If strDN = "ESxxxxxx" Then

    Queria que todo os micros que começa com CP fossem para uma OU e ES fosse para outra
    Leonardo Sousa
    quarta-feira, 19 de agosto de 2009 16:10
  • Olá,

    Se você passar o caminho conforme o exemplo: "CN=GrupoA,OU=Grupos,DC=CONTOSO,DC=LOCAL"

    Você pode usar assim:

    if UCASE(MID(strDN,4,2)) = "CP" Then
       executaacaoOUA
    Elseif UCASE(MID(strDN,4,2)) = "ES"
       executaacaoOUB
    Else
       executaacaoOUDEFAULT
    End if


    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    • Marcado como Resposta Leo Sousa quarta-feira, 19 de agosto de 2009 17:33
    quarta-feira, 19 de agosto de 2009 16:59
  • Jessiel não entendi essas linhas. O local onde esta member tem que ser alterado? Tá dando erro "O servidor não foi encontrado" o que será?

    Set objGrupo = GetObject  ("LDAP://" & strNomeGrupo)
    objGrupo.PutEx 3,"member", Array(strDN)
    objGrupo.SetInfo
    Leonardo Sousa
    quarta-feira, 19 de agosto de 2009 17:33
  • Olá,

    Você tem que passar o nome do grupo seguindo o exemplo:

    CN=GRUPOA,OU=OUGRUPOS,DC=DOMINIO,DC=COM,DC=BR


    foi assim que você colocou???

    O member é o atributo para inserir um membro do grupo...




    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quarta-feira, 19 de agosto de 2009 18:27
  • Meu script esta assim

    Set objDSE = GetObject("LDAP://rootDSE")
    TI= "OU=TI,"
    SM= "OU=SM,"
    COMP= "OU=SERVCOMP"
    NOTEBOOK= "notebooks"
    MICRO= "desktops"

    '===========NOME DO MICRO===================
    strDN = InputBox ("Coloque o nome do Computador", , strDefaultDN)
    If UCASE(MID(strDN,4,2)) = "ES" Then
    strDNEQUIP=strDN
    strDNEQUIP = "OU=Desktops," & objDSE.Get("defaultNamingContext")
    strDNORGAO = InputBox ("Digite o orgão correspodente" & _
         vbCrLf & ("TI")& _
         vbCrLf & ("SM")& _
         vbCrLf & ("COMP"))

    strDNORGAO2 = strDNORGAO & strDNEQUIP & objDSE.Get("defaultNamingContext")
    strDNREGIONAL = "OU=TI-RIO," & strDNORGAO2 & objDSE.Get("defaultNamingContext")

    '=============================================
    Elseif UCASE(MID(strDN,4,2)) = "CP" then
    strDNEQUIP=strDN
    strDNEQUIP = "OU=Notebooks," & objDSE.Get("defaultNamingContext")
    strDNORGAO = InputBox ("Digite o orgão correspodente" & _
         vbCrLf & ("TI")& _
         vbCrLf & ("SM")& _
         vbCrLf & ("COMP"))

    strDNORGAO2 = strDNORGAO & strDNEQUIP & objDSE.Get("defaultNamingContext")
    strDNREGIONAL = "OU=TI-RIO," & strDNORGAO2 & objDSE.Get("defaultNamingContext")
    End if
    If strDN = "" Then WScript.Quit(1) 

    '===========GRUPO===========================
    strNomeGrupo = ("GG_ADM_LOCAL_ESTACOES,OU=GPO,OU=Grupos,OU=TI,OU=TI-RIO," & objDSE.Get("defaultNamingContext"))
    If strNomeGrupo = "" Then WScript.Quit(1)

    strTOTAL= strDN & strDNREGIONAL
    WScript.Echo strTOTAL

    Set objComputador = GetObject("LDAP://" & strDN)


    Set objGrupo = GetObject  ("LDAP://" & strNomeGrupo)
    objGrupo.PutEx 3,"member", Array(strDN)
    objGrupo.SetInfo
    Leonardo Sousa
    quarta-feira, 19 de agosto de 2009 18:46
  • Olá,

    Verifique o script abaixo:


    Set objDSE = GetObject("LDAP://rootDSE")
    TI= "OU=TI,"
    SM= "OU=SM,"
    COMP= "OU=SERVCOMP"
    NOTEBOOK= "notebooks"
    MICRO= "desktops"

    '===========NOME DO MICRO===================
    strDN = InputBox ("Coloque o nome do Computador", , strDefaultDN)
    If UCASE(MID(strDN,4,2)) = "ES" Then
       strDNEQUIP=strDN
       strDNEQUIP = "OU=Desktops,"
       strDNORGAO = InputBox ("Digite o orgão correspodente" & _
         vbCrLf & ("TI")& _
         vbCrLf & ("SM")& _
         vbCrLf & ("COMP"))

       strDNORGAO2 = "OU=" & strDNORGAO & "," & strDNEQUIP

       strDNREGIONAL = "OU=TI-RIO," & strDNORGAO2

       '=============================================
    Elseif UCASE(MID(strDN,4,2)) = "CP" then
       strDNEQUIP=strDN
       strDNEQUIP = "OU=Notebooks,"
       strDNORGAO = InputBox ("Digite o orgão correspodente" & _
            vbCrLf & ("TI")& _
            vbCrLf & ("SM")& _
            vbCrLf & ("COMP"))

       strDNORGAO2 = "OU=" & strDNORGAO & "," & strDNEQUIP
       strDNREGIONAL = "OU=TI-RIO," & strDNORGAO2
    End if
       If strDN = "" Then WScript.Quit(1)

       '===========GRUPO===========================
       strNomeGrupo = ("GG_ADM_LOCAL_ESTACOES,OU=GPO,OU=Grupos,OU=TI,OU=TI-RIO," & objDSE.Get("defaultNamingContext"))
       If strNomeGrupo = "" Then WScript.Quit(1)

       strTOTAL= strDN & "," & strDNREGIONAL  & objDSE.Get("defaultNamingContext")
       WScript.Echo strTOTAL
     
    Set objComputador = GetObject("LDAP://" & strTOTAL)


    Set objGrupo = GetObject  ("LDAP://" & strNomeGrupo)
    objGrupo.PutEx 3,"member", Array(strTOTAL)
    objGrupo.SetInfo



    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    quarta-feira, 19 de agosto de 2009 19:11
  • Ainda não testei o código acima:
    Se Ele não encontrar tem como ele volta com uma mensagem de erro?

    Leonardo Sousa
    quarta-feira, 19 de agosto de 2009 20:35