Usuário com melhor resposta
Script para colocar conta de micro em um grupo.

Pergunta
-
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
-
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
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
-
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 -
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
-
-
-
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
-
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 -
-
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 -
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
-