ECAD - Executar Como Administrador
Vamos lhe mostrar um script que tem uma grande utilidade no ambiente de trabalho dos Técnicos de Apoio ao Usuário. O objetivo desse script é executar algumas tarefas com privilégios administrativos.
Obs. (Excelente ferramenta para quem tem Windows XP com as versões do IE atualizado e impede abrir o IE no modo "Executar Como"
Veja o Script aqui:
'========================================================================
' LINGUAGEM: VBScript'
' NAME: ECAD' VERSÃO: 1.0
' AUTHOR: DICAS QUE FUNFA
' DATE : 10/10/2011
' by: http://dicasquefunfa.com.br
'========================================================================
Option Explicit
Dim objmenu, username, wshshell, fso
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Username = InputBox("Entre com sua conta de Administrador (ex: Admin)", "ECAD - EXECUTAR COMO Admin - by Dicas Qeu Funfa v1")
Set objmenu = New gui_menu
objmenu.getInput
Class gui_menu
private Input, quit, strText, cmd, arrMenu, i, return, strProg, strComputer
Private Sub pickInput
Select Case Input
Case "1"
cmd = " ""%windir%\explorer.exe /separate"""
startProg cmd
getInput
Case "2"
cmd = " ""mmc %windir%\system32\lusrmgr.msc"""
startProg cmd
getInput
Case "3"
cmd = " ""mmc %windir%\system32\services.msc"""
startProg cmd
getInput
Case "4"
cmd = " %comspec%"
startProg cmd
getInput
Case "5"
cmd = " ""mmc %windir%\system32\compmgmt.msc"""
startProg cmd
getInput
Case "6"
cmd = " ""mmc %windir%\system32\devmgmt.msc"""
startProg cmd
getInput
Case "7"
strProg = InputBox("Digite o caminho completo para o programa desejado (ex:C:\WINDOWS\NOTEPAD.EXE) ", "Abri outro programa")
If fso.FileExists(strProg) then
cmd = " """ & strProg & """"
startProg cmd
getInput
Else
strProg = MsgBox("O arquivo não existi, tente novamente!",48,"Error!!")
getInput
End if
Case "8"
strComputer = InputBox("Digite o nome do computador Windows XP para ativar o remote desktop")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='TermService'")
For each objService in colServiceList
errReturn = objService.StopService()
Next
Set colTSSettings = objWMIService.InstancesOf("Win32_TerminalServiceSetting")
For Each colTS in colTSSettings
colTS.SetAllowTSConnections(1)
Next
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='TermService'")
For each objService in colServiceList
errReturn = objService.StartService()
Next
Case "9"
quit = MsgBox ("Você realmente deseja sair?", 36, "Deseja Sair?")'52
If quit = 6 Then
MsgBox ("Dicas Que Funfa lhe deseja um Excelente trabalho!!")
WScript.Quit
Else
getInput
End If
Case ""
quit = MsgBox ("Você realmente deseja sair?", 36, "Deseja Sair?")'52
If quit = 6 Then
MsgBox ("Dicas Que Funfa lhe deseja um Excelente trabalho!!")
WScript.Quit
Else
getInput
End If
Case Else
MsgBox ("Hum! Essa é uma entrada incorreta, tente outra!")
getInput
End Select
End Sub 'pickInput
Public sub getInput
arrMenu = Array("Para Abrir o Explorer","Para abrir Usuários e grupos locais","Para Serviços","Abre o Prompt de Comando","Aqui vai abrir o Gerenciamento do computador","Esse abre o Gerenciador de dispositivos","Aqui você escolhe o que deseja Abrir", "Ativa o Acesso Remoto","Aqui você vai Sair")
strText = "Escolha umas das opções abaixo." & vbNewLine
For i = 1 To (UBound(arrMenu) + 1)
strText = strText & i & " - " & arrMenu(i - 1) & vbNewLine
Next
Input = InputBox(strText, "Escola uma das opções")
pickInput
End sub 'getInput
Private Sub startProg(cmd)
return = WshShell.Run("%windir%\system32\runas.exe /user:SEU_DOMINIO_AQUI\" & username & cmd, 1, False)
End Sub 'startProg
End Class 'gui_menu
' LINGUAGEM: VBScript'
' NAME: ECAD' VERSÃO: 1.0
' AUTHOR: DICAS QUE FUNFA
' DATE : 10/10/2011
' by: http://dicasquefunfa.com.br
'========================================================================
Option Explicit
Dim objmenu, username, wshshell, fso
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Username = InputBox("Entre com sua conta de Administrador (ex: Admin)", "ECAD - EXECUTAR COMO Admin - by Dicas Qeu Funfa v1")
Set objmenu = New gui_menu
objmenu.getInput
Class gui_menu
private Input, quit, strText, cmd, arrMenu, i, return, strProg, strComputer
Private Sub pickInput
Select Case Input
Case "1"
cmd = " ""%windir%\explorer.exe /separate"""
startProg cmd
getInput
Case "2"
cmd = " ""mmc %windir%\system32\lusrmgr.msc"""
startProg cmd
getInput
Case "3"
cmd = " ""mmc %windir%\system32\services.msc"""
startProg cmd
getInput
Case "4"
cmd = " %comspec%"
startProg cmd
getInput
Case "5"
cmd = " ""mmc %windir%\system32\compmgmt.msc"""
startProg cmd
getInput
Case "6"
cmd = " ""mmc %windir%\system32\devmgmt.msc"""
startProg cmd
getInput
Case "7"
strProg = InputBox("Digite o caminho completo para o programa desejado (ex:C:\WINDOWS\NOTEPAD.EXE) ", "Abri outro programa")
If fso.FileExists(strProg) then
cmd = " """ & strProg & """"
startProg cmd
getInput
Else
strProg = MsgBox("O arquivo não existi, tente novamente!",48,"Error!!")
getInput
End if
Case "8"
strComputer = InputBox("Digite o nome do computador Windows XP para ativar o remote desktop")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='TermService'")
For each objService in colServiceList
errReturn = objService.StopService()
Next
Set colTSSettings = objWMIService.InstancesOf("Win32_TerminalServiceSetting")
For Each colTS in colTSSettings
colTS.SetAllowTSConnections(1)
Next
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='TermService'")
For each objService in colServiceList
errReturn = objService.StartService()
Next
Case "9"
quit = MsgBox ("Você realmente deseja sair?", 36, "Deseja Sair?")'52
If quit = 6 Then
MsgBox ("Dicas Que Funfa lhe deseja um Excelente trabalho!!")
WScript.Quit
Else
getInput
End If
Case ""
quit = MsgBox ("Você realmente deseja sair?", 36, "Deseja Sair?")'52
If quit = 6 Then
MsgBox ("Dicas Que Funfa lhe deseja um Excelente trabalho!!")
WScript.Quit
Else
getInput
End If
Case Else
MsgBox ("Hum! Essa é uma entrada incorreta, tente outra!")
getInput
End Select
End Sub 'pickInput
Public sub getInput
arrMenu = Array("Para Abrir o Explorer","Para abrir Usuários e grupos locais","Para Serviços","Abre o Prompt de Comando","Aqui vai abrir o Gerenciamento do computador","Esse abre o Gerenciador de dispositivos","Aqui você escolhe o que deseja Abrir", "Ativa o Acesso Remoto","Aqui você vai Sair")
strText = "Escolha umas das opções abaixo." & vbNewLine
For i = 1 To (UBound(arrMenu) + 1)
strText = strText & i & " - " & arrMenu(i - 1) & vbNewLine
Next
Input = InputBox(strText, "Escola uma das opções")
pickInput
End sub 'getInput
Private Sub startProg(cmd)
return = WshShell.Run("%windir%\system32\runas.exe /user:SEU_DOMINIO_AQUI\" & username & cmd, 1, False)
End Sub 'startProg
End Class 'gui_menu
Vide exemplo do script em execução
1. Entre com sua conta de Administrador (se sua conta for no AD, não precisa informar o domínio aqui. Ele deve ser informado na linha 144 onde está escrito: return = WshShell.Run("%windir%\system32\runas.exe /user:SEU_DOMINIO_AQUI\" & username & cmd, 1, False)
)
)
2. Escolha uma das opções
3. Informe sua senha para abrir o programa desejado
Você pode fazer suas personalizações conforme suas necessidades.
Comentários
Postar um comentário
ATENÇÃO: Seu comentário é muito importante para nós e esperamos que você compartilhe suas opiniões e sugestões abaixo. No entanto, lembramos que é de inteira responsabilidade dos usuários seguir as dicas postadas no Blog DicasQueFunfa. Pedimos que evite comentários ofensivos, ilegais ou prejudiciais, pois esses não serão tolerados e serão removidos. Agradecemos sua colaboração e esperamos que suas contribuições enriqueçam ainda mais nosso conteúdo.