Fiz um script em VBSCRIPT para incluir usuários em Grupos no AD a partir de um arquivo Excel, você entra com o nome do login e o nome do grupo e assim ira adicionar o usuario ao grupo solicitado, porém não está funcionando no momento apresenta o seguinte erro "The server is not operational", alguém poderia analizar o codigo e me ajudar?
Pergunta
Joelson Nascimento
Fala galera,
Fiz um script em VBSCRIPT para incluir usuários em Grupos no AD a partir de um arquivo Excel, você entra com o nome do login e o nome do grupo e assim ira adicionar o usuario ao grupo solicitado, porém não está funcionando no momento apresenta o seguinte erro "The server is not operational", alguém poderia analizar o codigo e me ajudar?
' ------------------------------------------------------'
Option Explicit Dim objRootLDAP, objContainer, objUser, objShell, objGroup Dim objExcel, objSpread, intRow Dim strUser, strOU, strSheet Dim strCN, strPWD, strUserDN, strAcao, strError, strChamado,strgrupo const strDomainDN = "DC=empresa,DC=timbrasil,DC=com,DC=br" strSheet = "C:\ADScripts\grupo\Grupo.xls" Set objExcel = CreateObject("Excel.Application") Set objSpread = objExcel.Workbooks.Open(strSheet) objExcel.Visible =true intRow = 2 Do Until objExcel.Cells(intRow,1).Value = "" strCN = Trim(objExcel.Cells(intRow, 1).Value) strUserDN = GetUserDNBysAMAccountName(strCN) strgrupo = Trim(objExcel.Cells(intRow, 2).Value) Dim bolReturn bolReturn = Grupo(strgrupo) if bolReturn then objExcel.Cells(intRow, 4).Value="OK" Else objExcel.Cells(intRow, 4).Value="NOK" objExcel.Cells(intRow, 5).Value=strError End If objExcel.Cells(intRow, 3).Value=strUserDN intRow = intRow + 1 Loop objExcel.Quit Function GetUserDNBysAMAccountName(byval strpUserLogonName) Dim objCon Dim objRs Dim strSQL Set objCon = createobject("ADODB.Connection") Set objRs = createobject("ADODB.Recordset") strSQL = "<LDAP://" & strDomainDN & ">;(sAMAccountName=" & strpUserLogonName & ");distinguishedName;subtree" objCon.Provider = "ADSDSOObject" call objCon.Open("ADs Provider") Set objRs = objCon.Execute(strSQL) if not objRs.EOF then GetUserDNBysAMAccountName = objRs.Fields(0).Value else GetUserDNBysAMAccountName = "" end if Call objCon.Close set objCon = nothing set objRs = nothing End Function Function Grupo (byval strUserDN) grupo = True Const ADS_PROPERTY_APPEND = 3 Dim objGroup Set objGroup = GetObject ("LDAP://" & strUserDN) objGroup.PutEx ADS_PROPERTY_APPEND, _ "member",Array ("" & strgrupo & "") objGroup.SetInfo End Function WScript.QuitObrigado!
Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.