none
Executar Script .vbs com credenciais de Administrador RRS feed

  • Pergunta

  • Possuo um script .vbs para instalação de determinada quantidade de fontes de texto que roda normalmente quando o usuário que o está executando é Administrador da máquina. Quando o mesmo não é Administrador a execução do script solicita credenciais elevadas.

    Alguém poderia me ajudar me dizendo como faço para inserir as credenciais de usuário Administrador no interior do script para que o mesmo rode sem problemas em todas as máquinas do domínio?

    Lembrando que nas estações possuo Windows 7/ 8 e todas encontram-se no domínio.

    Segue abaixo o scritpt que estou à utilizar. Tentei verificar outras perguntas parecidas postadas aqui, mas nenhuma delas conseguiu resolver o meu problema. Desde já agradeço à todos.

    Option Explicit
    ' Installing multiple Fonts in Windows 7
    
     
    Dim objShell, objFSO, wshShell
    Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile
     
    Set objShell = CreateObject("Shell.Application")
    Set wshShell = CreateObject("WScript.Shell")
    Set objFSO = createobject("Scripting.Filesystemobject")
    
    strFontSourcePath = "\\ip.do.servidor\Fontes"
     
    If objFSO.FolderExists(strFontSourcePath) Then
     
    	Set objNameSpace = objShell.Namespace(strFontSourcePath)
    	Set objFolder = objFSO.getFolder(strFontSourcePath)
    	 
    	For Each objFile In objFolder.files
    		If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" Then
    		Set objFont = objNameSpace.ParseName(objFile.Name)
    		If objFSO.FileExists("C:\WINDOWS\Fonts\" & objFile.Name) = False Then
    		objFont.InvokeVerb("Install")
    		Set objFont = Nothing
    		End If
    		End If
    	Next
    Else
    	Wscript.Echo "Font Source Path does not exists"
    End If


    • Editado Fábio JrModerator quinta-feira, 6 de novembro de 2014 18:50 Formatação do código
    quinta-feira, 6 de novembro de 2014 11:30

Respostas

  • Como você está utilizando esse script? Como script de Logon ou apenas fica disponível em algum lugar para o usuário clicar duas vezes e instalar as fontes?

    Se você estiver usando como script de logon então o melhor é tentar usar como script de Start up (inicialização), assim o script será executado com credenciais de sistema e a chance de funcionar será maior.

    Caso seja o segundo caso então eu tentaria usar o AutoIT, ele tem uma função para executar um comando e passar usuário e senha, então bastaria você usar o usuário\senha de um administrador. Não recomendo usar este tipo de coisa, deve ser a última opção.


    Fábio de Paula Junior

    quinta-feira, 6 de novembro de 2014 18:55
    Moderador

Todas as Respostas

  • Como você está utilizando esse script? Como script de Logon ou apenas fica disponível em algum lugar para o usuário clicar duas vezes e instalar as fontes?

    Se você estiver usando como script de logon então o melhor é tentar usar como script de Start up (inicialização), assim o script será executado com credenciais de sistema e a chance de funcionar será maior.

    Caso seja o segundo caso então eu tentaria usar o AutoIT, ele tem uma função para executar um comando e passar usuário e senha, então bastaria você usar o usuário\senha de um administrador. Não recomendo usar este tipo de coisa, deve ser a última opção.


    Fábio de Paula Junior

    quinta-feira, 6 de novembro de 2014 18:55
    Moderador
  • Já estou utilizando-o como script de startup, mas ainda assim o mesmo só está executando em contas de Administrador.

    Sei que não é a melhor prática, mas neste caso é a última opção.

    Desde já agradeço pela ajuda.


    terça-feira, 11 de novembro de 2014 11:38
  • Amigo,
    Tente implantar isso, peguei em outro forum aqui do technet.

    set oShell= Wscript.CreateObject("WScript.Shell")

    oShell.Run "runas /user:usuario @dominio.local ""C:\script.bat """

    WScript.Sleep 100

    oShell.Sendkeys "senha ~"

    Wscript.Quit 

    Deixe o caracter "~" depois da senha, pois ele é o enter.

    Abs.

    sexta-feira, 12 de fevereiro de 2016 15:18