none
Alterar BAT para VBS - Instalar VNC RRS feed

  • Pergunta

  • Pessoal, to tentando alterar o script aqui da empresa de BAT para VBS, só me surgiu uma duvida... quanto a instalacao do VNC via script atualmente ele roda da seguinte maneira em BAT:


    if exist %windir%\expostrt.exe GOTO WIN95

    if exist %windir%\asd.exe GOTO WIN98

    if exist %windir%\system32\regedt32.exe GOTO NT

    :NT
    NET TIME \\SERVIDOR-02 /SET /YES
    if exist %windir%\REALVNC\ok.txt GOTO continua1
    echo Instalando o vnc - Passo 1  .
    \\SERVIDOR-02\netlogon\REG DELETE "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\WinRC" /FORCE
    echo Instalando o vnc Passo 2..
    if exist %windir%\system32\pathping.exe goto w2k
    echo Instalando o vnc Passo 3...
    regedit /S \\SERVIDOR-02\netlogon\vncnt4.reg >null
    goto continua1

    :w2k
    echo Instalando o vnc Passo 4...
    regedit /S \\SERVIDOR-02\netlogon\vncnt.reg >null
    goto vnc

    :vnc
    echo Instalando o vnc Passo 5....
    md %windir%\realvnc
    echo Instalando o vnc Passo 6 .....
    copy \\SERVIDOR-02\netlogon\vnc\*.* %windir%\realvnc
    echo Instalando o vnc Passo 7......
    net stop pcorcage
    echo Instalando o vnc Passo 8 .......
    ren %windir%\update update.old
    echo Instalando o vnc Passo 9........
    \\SERVIDOR-02\netlogon\SC create WinVNC binpath= "%windir%\realvnc\WinVNC.exe -service" type= own type= interact start= auto
    echo Instalando o vnc Passo 10.........
    net start winvnc
    echo Instalando o vnc Passo 11..........
    copy \\SERVIDOR-02\netlogon\vnc\ok\ok.txt %windir%\realvnc



    GOSTARIA de saber como escrever isso em VBS.

    Obrigado.

    Albert Santos
    quarta-feira, 12 de maio de 2010 17:33

Respostas

  • Pessoal, só para nao deixar meus posts abertos. 


    Estou fechando os mesmos. Encontrei a solucao e abaixo segue:

     

    'CRIAR SERVIÇO CHAMADO PARA O ACESSO REMOTO ***********************************************************

     

    Set oWshNet = CreateObject("WScript.Network") 

    sComputer = oWshNet.ComputerName

     

    sStartMode = "Automatic"

    StartName = "LocalSystem"

    StartPassword = ""

    sName = "uvnc_service"

    sDisplayName = "uvnc_service"

    sPathName = "C:\Remote\Remote.exe -service"

    bDeskInteract = TRUE

    iErrorControl = 1

     

    Set oInstance = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _ 

    sComputer & "/root/cimv2:Win32_Service")

     

    Set oMethod = oInstance.Methods_("Create")

    Set oInParam = oMethod.inParameters.SpawnInstance_()

    oInParam.Name = sName

    oInParam.DisplayName = sDisplayName

    oInParam.PathName = sPathName

    '--oInParam.ServiceType = iServiceType

    '--oInParam.ErrorControl = iErrorControl

    oInParam.StartMode = sStartMode

    oInParam.DesktopInteract = bDeskInteract

    '--oInParam.StartName = sStartName

    '--oInParam.StartPassword = sStartPassword

    '--oInParam.LoadOrderGroup = sLoadOrderGroup

    '--oInParam.LoadOrderGroupDependencies = aLoadOrderGroupDependencies

    '--oInParam.ServiceDependencies = aServiceDependencies

     

     

    Set oOutParam = oInstance.ExecMethod_("Create", oInParam)

     

    If oOutParam.ReturnValue = 0 Then

    'WScript.Echo "Service " & sName & " created successfully"

    Else

    'WScript.Echo "Create method for service " & sName & " failed"

    Select Case oOutParam.ReturnValue

    Case 1 'WScript.Echo "Not Supported"

    Case 2 'WScript.Echo "Access Denied"

    Case 3 'WScript.Echo "Dependent Services Running"

    Case 4 'WScript.Echo "Invalid Service Control"

    Case 5 'WScript.Echo "Service Cannot Accept Control"

    Case 6 'WScript.Echo "Service Not Active"

    Case 7 'WScript.Echo "Service Request Timeout"

    Case 8 'WScript.Echo "Unknown Failure"

    Case 9 'WScript.Echo "Path Not Found"

    Case 10 'WScript.Echo "Service Already Running"

    Case 11 'WScript.Echo "Service Database Locked"

    Case 12 'WScript.Echo "Service Dependency Deleted"

    Case 13 'WScript.Echo "Service Dependency Failure"

    Case 14 'WScript.Echo "Service Disabled"

    Case 15 'WScript.Echo "Service Logon Failure"

    Case 16 'WScript.Echo "Service Marked For Deletion"

    Case 17 'WScript.Echo "Service No Thread"

    Case 18 'WScript.Echo "Status Circular Dependency"

    Case 19 'WScript.Echo "Status Duplicate Name"

    Case 20 'WScript.Echo "Status Invalid Name"

    Case 21 'WScript.Echo "Status Invalid Parameter"

    Case 22 'WScript.Echo "Status Invalid Service Account"

    Case 23 'WScript.Echo "Status Service Exists"

    Case 24 'WScript.Echo "Service Paused"

    END SELECT

    END IF

     

    'COPIAR VNC DA REDE PARA ESTAÇÃO ***********************************************************

     

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFolder = objFSO.CreateFolder("C:\Remote")

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    objFSO.CopyFile "\\SERVER-01\NETLOGON\Em_Producao\UVNC\*.*" , "c:\Remote\"

     

    WScript.Sleep 5000

     

    'INICIAR O SERVIÇO DO VNC ***********************************************************

     

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

    Set colListOfServices = objWMIService.ExecQuery ("Select * from Win32_Service Where Name ='uvnc_service'")

    For Each objService in colListOfServices

        objService.StartService()

    Next

     

    QUALQUER DUVIDA, podem perguntar! Abraços!


    Albert Santos
    • Marcado como Resposta Santos Ber quarta-feira, 14 de julho de 2010 14:02
    quarta-feira, 14 de julho de 2010 14:01

Todas as Respostas

  • Você precisa reescrever todo o script?

    Ou só precisa de um vbs que rode esse bat?

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    quarta-feira, 12 de maio de 2010 18:19
  • Gabriel, preciso reescrever. A ideia é deixar todos os scripts da rede em VBS. Obrigado.
    Albert Santos
    quarta-feira, 12 de maio de 2010 19:15
  • UP, ajuda ae galera... obrigado!
    Albert Santos
    quinta-feira, 13 de maio de 2010 16:18
  • Nesse script ele checa alguns arquivos para saber qual o SO, quais Windows vc ainda tem na empresa pra eu dar uma otimizada nesse script.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    quinta-feira, 13 de maio de 2010 16:56
  • Esqueci de falar desse detalhe. 

     

    Os SO's que temos aqui sao: Win2K, WinXP, WinVista e Win7

     

    Valeu pela ajuda! No aguardo.


    Albert Santos
    quinta-feira, 13 de maio de 2010 21:50
  • UP...
    Albert Santos
    sexta-feira, 14 de maio de 2010 13:52
  • Gabriel, esta online na COMU?! Aguardo sua ajuda.
    Albert Santos
    sexta-feira, 14 de maio de 2010 20:15
  • UP novamente =(
    Albert Santos
    terça-feira, 18 de maio de 2010 14:17
  • Verifique se esse link te ajuda.

    http://community.spiceworks.com/how_to/show/1101

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    terça-feira, 18 de maio de 2010 22:40
  • Gabriel, até funciona, mas tenho uma necessidade especifica.

     

    Vamos lá, só está faltando uma UNICA coisa pra colocar meu Script em producao...

     

    Tenho 3 arquivos no meu servidor (\\servidor\vnc\) sao:

    wm_hooks.dll

    winvnc4.exe

    logmessages.dll

    A minha necessidade é, CRIAR UMA PASTA EM %windir%\REALVNC e copiar os 3 arquivos para dentro desse diretorio. Preciso tambem que antes de copiar o arquivo o script verifique se esses arquivos ja existem nesse local (para nao consumir link, afinal temos sites REMOTOS). Enfim, se algum dos arquivos estiver faltando, ele copiaria apenas o arquivo que falta (se isso for complicado, o script poderia verificar se ALGUM desses 3 itens estao faltando e se sim, ai copia tudo do servidor para esse diretorio).

    Bom, ate aqui o script deve copiar os arquivos VERIFICANDO a existencia dos mesmos.

    Depois, gostaria que o script CRIASSE um SERVIÇO para o VNC rodar na maquina. Hoje isso é feito com um utilitario chamado SC.exe só que usando uma BAT para fazer isso... no caso, na minha BAT hoje essa parte que cria o serviço esta assim:

    \\SERVIDOR\netlogon\SC create WinVNC binpath= "%windir%\realvnc\WinVNC4.exe -service" type= own type= interact start= auto 

     

    Quero que o Script faça a criação desse serviço sem precisar desse utilitario.

     

    Bom, espero que os amigos da comunidade possam me ajudar.


    Gabriel, obrigado ate agora pela ajuda, votei como util na sua resposta anterior mas ainda nao é o que preciso!


    Albert Santos
    terça-feira, 1 de junho de 2010 16:59
  • Pessoal, encontrei esse script que nao FAÇO IDEIA PRA QUE Q SERVER, mas ele cria um serviço assim como eu quero. Mas nao estou conseguindo adapta-lo para a minha necessidade. 

    Segue abaixo:

     

    Const OWN_PROCESS = 16

    Const NOT_INTERACTIVE = False

    Const NORMAL_ERROR_CONTROL = 2

     

    strComputer = "."

    Set objWMIService = GetObject("winmgmts:" _

        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set objService = objWMIService.Get("Win32_BaseService")

     

    errReturn = objService.Create("Dbservice" ,"NAME_Process" , _

        "C:\windows\system32\db.exe", OWN_PROCESS, NORMAL_ERROR_CONTROL,_

            "Automatico", NOT_INTERACTIVE, "NT AUTHORITY\LocalService", ""  )

     

     

    Se alguem tiver alguma sugestao agradeço. Abs


    Albert Santos
    • Editado Santos Ber terça-feira, 1 de junho de 2010 19:33 Correção
    terça-feira, 1 de junho de 2010 17:36
  • Pessoal, só para nao deixar meus posts abertos. 


    Estou fechando os mesmos. Encontrei a solucao e abaixo segue:

     

    'CRIAR SERVIÇO CHAMADO PARA O ACESSO REMOTO ***********************************************************

     

    Set oWshNet = CreateObject("WScript.Network") 

    sComputer = oWshNet.ComputerName

     

    sStartMode = "Automatic"

    StartName = "LocalSystem"

    StartPassword = ""

    sName = "uvnc_service"

    sDisplayName = "uvnc_service"

    sPathName = "C:\Remote\Remote.exe -service"

    bDeskInteract = TRUE

    iErrorControl = 1

     

    Set oInstance = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _ 

    sComputer & "/root/cimv2:Win32_Service")

     

    Set oMethod = oInstance.Methods_("Create")

    Set oInParam = oMethod.inParameters.SpawnInstance_()

    oInParam.Name = sName

    oInParam.DisplayName = sDisplayName

    oInParam.PathName = sPathName

    '--oInParam.ServiceType = iServiceType

    '--oInParam.ErrorControl = iErrorControl

    oInParam.StartMode = sStartMode

    oInParam.DesktopInteract = bDeskInteract

    '--oInParam.StartName = sStartName

    '--oInParam.StartPassword = sStartPassword

    '--oInParam.LoadOrderGroup = sLoadOrderGroup

    '--oInParam.LoadOrderGroupDependencies = aLoadOrderGroupDependencies

    '--oInParam.ServiceDependencies = aServiceDependencies

     

     

    Set oOutParam = oInstance.ExecMethod_("Create", oInParam)

     

    If oOutParam.ReturnValue = 0 Then

    'WScript.Echo "Service " & sName & " created successfully"

    Else

    'WScript.Echo "Create method for service " & sName & " failed"

    Select Case oOutParam.ReturnValue

    Case 1 'WScript.Echo "Not Supported"

    Case 2 'WScript.Echo "Access Denied"

    Case 3 'WScript.Echo "Dependent Services Running"

    Case 4 'WScript.Echo "Invalid Service Control"

    Case 5 'WScript.Echo "Service Cannot Accept Control"

    Case 6 'WScript.Echo "Service Not Active"

    Case 7 'WScript.Echo "Service Request Timeout"

    Case 8 'WScript.Echo "Unknown Failure"

    Case 9 'WScript.Echo "Path Not Found"

    Case 10 'WScript.Echo "Service Already Running"

    Case 11 'WScript.Echo "Service Database Locked"

    Case 12 'WScript.Echo "Service Dependency Deleted"

    Case 13 'WScript.Echo "Service Dependency Failure"

    Case 14 'WScript.Echo "Service Disabled"

    Case 15 'WScript.Echo "Service Logon Failure"

    Case 16 'WScript.Echo "Service Marked For Deletion"

    Case 17 'WScript.Echo "Service No Thread"

    Case 18 'WScript.Echo "Status Circular Dependency"

    Case 19 'WScript.Echo "Status Duplicate Name"

    Case 20 'WScript.Echo "Status Invalid Name"

    Case 21 'WScript.Echo "Status Invalid Parameter"

    Case 22 'WScript.Echo "Status Invalid Service Account"

    Case 23 'WScript.Echo "Status Service Exists"

    Case 24 'WScript.Echo "Service Paused"

    END SELECT

    END IF

     

    'COPIAR VNC DA REDE PARA ESTAÇÃO ***********************************************************

     

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFolder = objFSO.CreateFolder("C:\Remote")

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    objFSO.CopyFile "\\SERVER-01\NETLOGON\Em_Producao\UVNC\*.*" , "c:\Remote\"

     

    WScript.Sleep 5000

     

    'INICIAR O SERVIÇO DO VNC ***********************************************************

     

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

    Set colListOfServices = objWMIService.ExecQuery ("Select * from Win32_Service Where Name ='uvnc_service'")

    For Each objService in colListOfServices

        objService.StartService()

    Next

     

    QUALQUER DUVIDA, podem perguntar! Abraços!


    Albert Santos
    • Marcado como Resposta Santos Ber quarta-feira, 14 de julho de 2010 14:02
    quarta-feira, 14 de julho de 2010 14:01