Usuário com melhor resposta
Script p/ desabilitar POP3 dos Usuários.

Pergunta
-
Olá pessoal,
Estou tentando criar um Script para desabilitar o POP3 de alguns usuários no meu AD.
Esse script funciou quando eu coloquei apenas um usuário:
qstring = "LDAP://CN=Jandyra Costa de Almeida,OU=Usuários,OU=CCA,OU=Sites,DC=educacao,DC=intragov"
set objUser = GetObject(qstring)
objUser.PutEx 2, "protocolSettings",ARRAY("POP3§0§1§4§ISO-8859-1§0§§§","IMAP4§0§1§4§ISO-8859-1§0§1§0§0")
objUser.setinfoEntão puxei um relatorio do AD, joguei em uma planilha do Excel para filtra-la deixando apenas os usuários que eu quero desabilitar o POP3 e então joguei aquela lista de usuários de volta no script:
qstring = "LDAP://CN=User5,OU=Usuários,OU=CCA,OU=Sites,DC=educacao,DC=intragov"
qstring = "LDAP://CN=User4,OU=Usuários,OU=CCA,OU=Sites,DC=educacao,DC=intragov"
qstring = "LDAP://CN=User3,OU=Usuários,OU=CCA,OU=Sites,DC=educacao,DC=intragov"
qstring = "LDAP://CN=User2,OU=Usuários,OU=CCA,OU=Sites,DC=educacao,DC=intragov"
qstring = "LDAP://CN=User1,OU=Usuários,OU=CCA,OU=Sites,DC=educacao,DC=intragov"
qstring = "LDAP://CN=Jandyra Costa de Almeida,OU=Usuários,OU=CCA,OU=Sites,DC=educacao,DC=intragov"
set objUser = GetObject(qstring)
objUser.PutEx 2, "protocolSettings",ARRAY("POP3§0§1§4§ISO-8859-1§0§§§","IMAP4§0§1§4§ISO-8859-1§0§1§0§0")
objUser.setinfoSó que é uma lista de mais de 1000 usuários. Nesse caso... O scritp funcionou apenas para o ultimo usuário nessa lista.
Sou um zero a esquerda em programação... Estou apreendendo agora... Já me falaram que eu deveria fazer com que o script buscasse os dados na tabela do Excel... mas não tenho nem ideia de como fazer isso...
Será que alguem poderia me ajudar?
Vlw!!
Abraços...
Respostas
-
Segue o script que você precisa, ele irá ler todo o seu AD e comparar com um arquivo TXT que você deve criar no mesmo diretório onde o script será executado este TXT deve se chamar usuarios.txt e nele deve estar o login (o login e não o nome) de todos os usuários que serão alterados.
Log_Saida.txt : Arquivo será criado automaticamente com o log da operação, irá dizer quais usuários foram alterados.
Usuarios.txt : Arquivo que você precisa criar com a lista de todos os logins que serão aterados.
Ex.:
usuario1
usuario2
usuario3
usuario3
Code SnippetSet FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("Log_Saida.txt", True)Set oContainer = GetObject("LDAP://DC=educacao,DC=intragov")EnumerateUsers oContainerSub EnumerateUsers(oCont)
Dim oUser, bUser
For Each oUser In oCont
bUser = False
Select Case LCase(oUser.Class)
Case "user"
bUser = True
StrUser_AD = oUser.sAMAccountName
StrCN = oUser.distinguishedName'### Lê o arquivo com os nomes dos usuários ###
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("usuarios.txt", 1)Do Until objFile.AtEndOfStreamStrUser = objFile.Readline
If StrUser = StrUser_AD Then
qstring = "LDAP://" & StrCN
set objUser = GetObject(qstring)
objUser.PutEx 2, "protocolSettings",ARRAY("POP3§0§1§4§ISO-8859-1§0§§§","IMAP4§0§1§4§ISO-8859-1§0§1§0§0")
objUser.setinfo
OutPutFile.WriteLine StrUser_AD & " - Modificado com sucesso."
End if
Loop
Case "organizationalunit", "container"
EnumerateUsers oUser
End Select
If bUser Then
OutPutFile.WriteLine
End If
Next
End SubOutPutFile.Close
Set FileSystem = Nothing
Set objFSO = Nothing
Set oContainer = Nothing
WScript.echo "Finalizado"
WScript.Quit(0)- Marcado como Resposta Fábio JrModerator segunda-feira, 12 de dezembro de 2011 15:38
Todas as Respostas
-
Segue o script que você precisa, ele irá ler todo o seu AD e comparar com um arquivo TXT que você deve criar no mesmo diretório onde o script será executado este TXT deve se chamar usuarios.txt e nele deve estar o login (o login e não o nome) de todos os usuários que serão alterados.
Log_Saida.txt : Arquivo será criado automaticamente com o log da operação, irá dizer quais usuários foram alterados.
Usuarios.txt : Arquivo que você precisa criar com a lista de todos os logins que serão aterados.
Ex.:
usuario1
usuario2
usuario3
usuario3
Code SnippetSet FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("Log_Saida.txt", True)Set oContainer = GetObject("LDAP://DC=educacao,DC=intragov")EnumerateUsers oContainerSub EnumerateUsers(oCont)
Dim oUser, bUser
For Each oUser In oCont
bUser = False
Select Case LCase(oUser.Class)
Case "user"
bUser = True
StrUser_AD = oUser.sAMAccountName
StrCN = oUser.distinguishedName'### Lê o arquivo com os nomes dos usuários ###
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("usuarios.txt", 1)Do Until objFile.AtEndOfStreamStrUser = objFile.Readline
If StrUser = StrUser_AD Then
qstring = "LDAP://" & StrCN
set objUser = GetObject(qstring)
objUser.PutEx 2, "protocolSettings",ARRAY("POP3§0§1§4§ISO-8859-1§0§§§","IMAP4§0§1§4§ISO-8859-1§0§1§0§0")
objUser.setinfo
OutPutFile.WriteLine StrUser_AD & " - Modificado com sucesso."
End if
Loop
Case "organizationalunit", "container"
EnumerateUsers oUser
End Select
If bUser Then
OutPutFile.WriteLine
End If
Next
End SubOutPutFile.Close
Set FileSystem = Nothing
Set objFSO = Nothing
Set oContainer = Nothing
WScript.echo "Finalizado"
WScript.Quit(0)- Marcado como Resposta Fábio JrModerator segunda-feira, 12 de dezembro de 2011 15:38
-