Inquiridor
Script para verificar grupo administradores local

Pergunta
-
Aqui na minha empresa alguns usuarios tinham permissão de Administrador Local. Hoje eu tirei todos eles, mais queria ter certeza que tirei de tudo mundo mesmo. Com isso, queria sabe se tem como criar uma bat ou um vbs para ele criar um arquivo txt caso no grupo administradores esteja alem do usuario administrador local e o meu usuario.
Muito obrigado.
Thiago.
Todas as Respostas
-
Blz Thiago Fukuda? Já tinha postado esse scripts e outros relacionado a este assunto abaixo segue um e links para os posts que coloquei outros scripts relacionado ao que vc precisa, se o post foi util marque-o como resposta:
Code Snippeton error resume next
Set WshNetwork = WScript.CreateObject("WScript.Network")
StrComputer = WshNetwork.ComputerName
Set objWMIService = GetObject("winmgmts:\\" & StrComputer & "\root\cimv2") 'VC DEVE SER ADMINISTRADOR DA MAQUINA E N PODE HAVER FIREWALL NO CAMINHO
if Err.number <> 0 then
'WriteLog StrComputer & vbTab & Err.Description & vbTab & "Tentando conecta-se via WMI ao PC remoto"
Err.Clear
wscript.quit
End ifSet colAccounts = objWMIService.ExecQuery _
("Select * From Win32_Group Where Domain = '" & StrComputer & "'")For Each objAccount in colAccounts
'wsh.echo objAccount.name
If objAccount.SID ="S-1-5-32-544" Then 'Achou o grupo administradores
Set ObjAdministrador = GetObject("WinNT://" & strComputer & "/" & objAccount.Name & "")
StrGroup = objAccount.Name
End if
NextLocal = "" 'Local para salvar o arquivo .CVS com os membros do grupo especificado
FileLog = Local & WshNetwork.ComputerName & "_" & StrGroup & ".txt"
ActionList = "no"Set ObjFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set ObjFileRead = ObjFSO.opentextfile(FileLog, ForReading, True)
Set ObjFileAppending = ObjFSO.opentextfile(FileLog, ForAppending, True)
Set objNetwork = CreateObject("WScript.Network")
Set objGroup = GetObject("WinNT://" & StrComputer & "/" & StrGroup & ",group")
StrMemberAdsPath = "WinNT://" & StrComputer & "/" & StrMember ' AdsPath do Membro
AdsPathGroup = objGroup.AdsPath
For Each objUser In objGroup.Members
WriteLog WshNetwork.ComputerName &","& Ucase(objUser.name) &","& objUser.class
ActionList = "yes"
NextFunction WriteLog (Text)
ObjFileAppending.WriteLine Text
End FunctionCode Snippet'Log verificação de membros em um grupo local
'Por Leonardo Couto Conrado
'08/07/2008
Dim objDom,objNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")StrComputer = "localhost" 'Computador a ser verificado
StrGroup = "Administradores" ' Verificar membros do Grupo Local Administradores
Local = "c:\" 'Local para salvar o TXT com os membros do grupo especificado
FileLog = Local & WshNetwork.ComputerName & "_" & StrGroup & ".txt"
ActionList = "no"
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set ObjFileRead = ObjFSO.opentextfile(FileLog, ForReading, True)
Set ObjFileAppending = ObjFSO.opentextfile(FileLog, ForAppending, True)
Set objNetwork = CreateObject("WScript.Network")
Set objGroup = GetObject("WinNT://" & StrComputer & "/" & StrGroup & ",group")StrMemberAdsPath = "WinNT://" & StrComputer & "/" & StrMember ' AdsPath do Membro
AdsPathGroup = objGroup.AdsPath
'ColItens.filter = Array("group")
WriteLog now() & " Membros do grupo " & Ucase(StrGroup) & " possuindo o nome único de " & AdsPathGroup
i = 0
For Each objUser In objGroup.Members
i = i + 1
WriteLog i & "- " & Ucase(objUser.name) & " é um " & objUser.class & " e seu nome único é " & objUser.AdsPath
ActionList = "yes"
Next
if ActionList = "yes" then
WriteLog "-------------------------------------FIM---------------------------------------TOTAL DE "& i &" MEMBROSENCONTRADOS------------"
end ifFunction WriteLog (Text)
ObjFileAppending.WriteLine Text
End Function -
Olá thiago, blza ?
Bom existe outra solução bem mais simples para sua necessidade. Você pode criar uma GPO e aplicar para as estações garantindo assim que seu usuario e o usuário administrador local farão parte do grupo administradores das estações.
1º - Crie uma OU e mova as estações que você quer verificar pra essa OU.
Ex: OU-Desktops
2º - Crie um grupo no AD por exemplo com o nome de Admins-Desktop e adicione o seu usuário neste grupo.
3º - Depois clique com o botao direito em cima da OU que você criou para os desktops vá em propriedades e depois na guia Group Policy.
3.1 - Nesta guia crie uma GPO por exemplo com o nome de Grupo_Restrito e mande editar.
3.2 - Agora vai na opção: Computer Configuration - Windows Settings - Security Settings - Restricted Groups
3.3 - Clique com o botão direito e mande adicionar o grupo Administrators e clique em Ok.
3.4 - Irá aparecer uma outra tela e nela você irá incluir como membros de deste grupo (administrators) o grupo que você criou no item2 (Admins-Desktop) ou seja você irá adicionar o grupo Admins-Desktop dentro do grupo Administrators, assim desta forma você garante que somente quem estiver dentro do grupo Admins-Desktop serão os administradores das estações.
4 - Apos adicionar o grupo feche a janela da GPO e faça os testes nas estações.
5 - Reinicie uma das estações e verifique se a GPO foi aplicada.
-
-
O segundo script eu entendi.. agora o primeiro nao... o primeiro faz o q? como eu faço nele pra fala q se nao tiver o usuario administrador, o meu usuario e o grupo helpdesk no gurpo administrador local da maquina.. o script deve gerar um arquivo txt