none
Ocultar janela do script logon RRS feed

  • Pergunta

  • Criei um script em VBS mas que faz uma chamada em um arquivo BAT que chama outro... ai quando o usuario faz logon fica a famosa telinha preta na tela, tem alguma forma de ocultar ou fazer ela ficar minimizada? Ja tentei o "start /min" ele ate inicia minimizado, mas deixa varias janelas abertas do dos.
    by Dimiro
    terça-feira, 12 de maio de 2009 18:07

Respostas

  • Olá,

    Como você esta executando a bat??

    Tente assim:

    Dim objShell

    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "\\server\share\arquivo.bat", 0, True

    Altere o caminho do seu arquivo bat.

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    terça-feira, 12 de maio de 2009 18:46
  • Ricardo,

    Crie um vbs com este script e coloque conforme te falei antes.

    On Error Resume Next

    strComputer = "."
    Set objUser = GetObject("WinNT://"& strComputer & "/administrador, user")

    objUser.SetPassword "SENHA"
    objuser.SetInfo


    by Dimiro MCP | MCDST | ITILF Foi útil? Classifique! Se resolveu, avalie! ;) °dimiro.com | ºtwitter.com/bydimiro
    sexta-feira, 5 de agosto de 2011 11:14

Todas as Respostas

  • Olá,

    Como você esta executando a bat??

    Tente assim:

    Dim objShell

    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "\\server\share\arquivo.bat", 0, True

    Altere o caminho do seu arquivo bat.

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    terça-feira, 12 de maio de 2009 18:46
  • Acho que funcionou... o que significa o 0 e True?

    Mas o problema que a BAT que ele chama, chama outra BAT, e essa que acaba ficando na tela....

    Tentei colocar a linha que essa bat chama mas como uso o lsrunase, ele abre uma caixa de dialogo pedindo executar... :(



    by Dimiro
    terça-feira, 12 de maio de 2009 19:24
  • Olá,

    Você precisa realmente de uma bat chamando outra???

    Se você fizer tudo com vbs??? Não te atende???

    Os parametros do objShell.Run são:

    0 Hide the window and activate another window.
    1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.
    2 Activate & minimize.
    3 Activate & maximize.
    4 Restore. The active window remains active.
    5 Activate & Restore.
    6 Minimize & activate the next top-level window in the Z order.
    7 Minimize. The active window remains active.
    8 Display the window in its current state. The active window remains active.
    9 Restore & Activate. Specify this flag when restoring a minimized window.
    10 Sets the show-state based on the state of the program that started the application.

    O segundo Parametro (true) é para aguardar o final para continuar o script ou (false) para ir para continuar o script.

    Veja a possibilidade de usar vbs para chamar o bat (final) Sem ter que chamar um intermediario.

    Se precisar de ajuda... Poste para tentarmos ajudar.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    terça-feira, 12 de maio de 2009 20:33
  • O que acontece...

    No VBS principal mapeio todas as unidades de rede, impressoras, abro o Internet explorer com a pagina da nossa intranet e no final chamo a tal bat que chama outra que bloqueia as portas USB e no final chama outra BAT que altera a senha do adm local, vnc e restart o spooler.

    Nao coloquei tudo junto na primeira que bloqueia a usb pois nessa bat eu tenho que rodar o comando com a senha do usuario pois uso o utilitario ifmember e quando chamo a outra BAT faco usando o utilitario lsrunase.

    Troco de doido ne, mas isso tudo so porque os scripts nunca funcionam direito via GPO.
    by Dimiro
    terça-feira, 12 de maio de 2009 20:40
  • Olá,

    O bloqueio de USB você altera o registro??? Se você executar no VBS mesmo, não da???

    Usa o ifmember no vbs... e utiliza o comando que você faz para chamar o bat no vbs Usando o Run...

    você consegue até chamar o lsrunase pelo run... sem problemas...

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    terça-feira, 12 de maio de 2009 21:26
  • Isso mesmo, pelo registro. Mas eu bloqueio de acordo com o grupo que o usuario pertence, entende?

    se eu chamar o lsrunase pelo run do vbs ele abre uma caixa pedindo pra executar o aplicativo.

    by Dimiro
    terça-feira, 12 de maio de 2009 21:35
  • Olá,

    Posta o código que você está usando nos scripts para podermos ajudar.

    Até mais,

    Jesiel
    quinta-feira, 14 de maio de 2009 12:56
  • Jesiel,

    Por enquanto depois de muita luta, achei o meu problema... era o caminho dos scripts, por isso nao rodavam na GPO, agora esta redodinho e via gpo, espero que fique assim ne! rs

    Agradeco muito a ajuda... esse comando que me passou ajudou bastante inclusive e irei marcar! ;)

    Qualquer coisa se puder posto aqui o real problema e a solucao.

    Abs!!
    by Dimiro
    quinta-feira, 14 de maio de 2009 13:33
  • Olá,

    Bacana que funcionou... Por GPO é a melhor solução mesmo... Você consegue fazer filtro por S.O, por grupo, etc....

    Qualquer coisa, poste novamente.

    Abraços,

    Jesiel
    quinta-feira, 14 de maio de 2009 14:39
  • Valeu!!!
    Agora estou na luta de uma forma de bloquear arquivos por extensão... tipo mp3, wma e etc...
    by Dimiro
    quinta-feira, 14 de maio de 2009 14:39
  • Olá,

    Se você criar uma GPO que bloqueia o executavel do probrama...

    Você bloqueia o media player por exemplo... não resolve???

    Dá pra fazer bloqueio por hash via GPO.

    Dá uma olhada no link abaixo, pode ser útil:

    http://imasters.uol.com.br/artigo/5078/servidores_windows/bloqueando_um_arquivo_executavel_utilizando_seu_hash/

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 14 de maio de 2009 14:51
  • Ja conheco... mas o problema é... toda hora aparece um programinha novo, o ideal seria pegar logo na extensao.. entendeu?
    by Dimiro
    quinta-feira, 14 de maio de 2009 15:00
  • Olá,

    Entendi...

    No R2 você tem como fazer isso:
    http://www.windowsnetworking.com/articles_tutorials/Implementing-File-Screening-Windows-Server-2003-R2.html
    http://technet.microsoft.com/en-us/magazine/2006.05.getcontrol.aspx

    Mas deve existir programas na web que faz isso sim..

    Mas dá pra você fazer um esqueminha mais ou menos assim:

    1 - Bloqueia os comuns por hash;
    2 - Não deixar os usuários com direitos administrativos. Assim eles não consiguirão instalar software;
    3 - Cria um script que exclui ou move os arquivos por extensão. Você agenda pra executar de tempo em tempo.

    Acho que assim atenderia sua necessidade.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 14 de maio de 2009 16:40
  • Jesiel..

    Tem algum script em vbs que eu possa rodar com gpo que exclua todos os arquivos na maquina com extensao mp3, wma, wmv e afins e que seja "rapido"?

    Abs,
    by Dimiro se útil, classifique! ;)
    quarta-feira, 3 de junho de 2009 21:50
  • Olá,

    Da uma olhada no link abaixo:

    http://forums.microsoft.com/TechNet-BR/ShowPost.aspx?PostID=3899835&SiteID=29

    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    quinta-feira, 4 de junho de 2009 17:41
  • Valeu... mas naquele script tem que especificar a pasta?
    Nao teria como fazer ele varrer todo o C?

    Abs
    by Dimiro se útil, classifique! ;)
    quinta-feira, 4 de junho de 2009 18:02
  • Ola,

    Tenta colocar "C:\"

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 4 de junho de 2009 18:10
  • Nao pois ele pega o caminho completo certinho...
    by Dimiro se útil, classifique! ;)
    quinta-feira, 4 de junho de 2009 18:24
  • Olá,

    Utilize esse entao:

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    set FSo = CreateObject("Scripting.FileSystemObject")

    'Coloque aqui a pasta que será verificada

    Pasta = "C:\"

    'Coloque aqui a pasta para a qual os arquivos serão copiados
    strDest = "C:\log.txt"

    'Coloque aqui os tipos de arquivos que serão copiados ou deletados, separados por ";"
    arrTipos = "mp4;mda;mp3"

    arrTipos = split(arrTipos,";")

    set folder = FSO.getFolder (Pasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    ArqLog.WriteLine  VBCRLF
    ArqLog.WriteLine "==================================================="
    ArqLog.WriteLine "ARQUIVOS LISTADOS EM: " & now
    ArqLog.WriteLine "==================================================="

    ArqLog.Close
    BuscaArquivo Pasta

    if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       BuscaArquivo SubFolder
      next
    end if


    Sub BuscaArquivo(strPasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    Set colFiles = objWMIService.ExecQuery _
        ("ASSOCIATORS OF {Win32_Directory.Name='" &strPasta& "'} Where " _
            & "ResultClass = CIM_DataFile")

    For Each objFile in colFiles
      For Each tipo in arrTipos
       If objFile.Extension = tipo Then
          ArqLog.WriteLine objFile.Name
          objFile.Delete
       End If
     Next
    Next
    ArqLog.Close
    End Sub


    Ele gera um log no c:\log.txt e deleta os arquivos...

    Altere a extensão para os tipos que você deseja e execute...

    Recomendo você primeiro gerar somente o log (colocando um apóstrofe na linha objFile.Delete)
    Depois verifica se você realmente pode apagar tudo. aí sim descomenta o delete.

    Você pode alterar o log para um caminho na rede se desejar.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 4 de junho de 2009 19:13
  • funcionou mais ou menos... ele nao pega todos os arquivos...
    by Dimiro se útil, classifique! ;)
    sexta-feira, 5 de junho de 2009 11:44
  • cara vê se você pode me ajudar eu tenho um um vbs que chama outro vbs ele está funcionando, é um script pra alterar a senha de administrador via gpo via script logon eu que estou querendo é ocutar os scripts que aparecem quando o usuário loga na rede  vou te passar os dois scrips vê o que vc pode fazer por mim se der pra fazer esses dois scripts virar um melhor ainda, mas o que pretendo mesmo é ocutar eles ou impedir que o usuário feche ele, obrigado.

     

    Script_1- usuario do runas                                                                             

    User = "dominio\usuario"
    Pass = "senha"
    Path = "cscript \\servidor\netlogon\script_2.vbs", 0, True

    set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "runas /user:" & User & " " & CHR(34) & Path & CHR(34),7
    WScript.Sleep 2000
    WshShell.AppActivate "C:\WINDOWS\System32\runas.exe"
    WScript.Sleep 2000
    WshShell.SendKeys Pass
    WScript.Sleep 2000
    WshShell.SendKeys "{ENTER}"
    WScript.Sleep 4000
    WshShell.SendKeys "Exit~"

    ----------------------------------------------------------------------------------------------

    script_2

     

    strComputer = "."
    Set colAccounts = GetObject("WinNT://" & strComputer & ",computer")
    Set objUser = GetObject("WinNT://" & strComputer & "/Administrador, user")
    objUser.SetPassword "senha de administrador"
    objUser.SetInfo
    ------------------------------------------------------------------------------------------------

    quinta-feira, 4 de agosto de 2011 20:53
  • Ricardo.. "também"? rs

    Rapaz.. vc fez dois scripts, um somente para chamar o outro como privilegio de adm?! Se for isso, veja como fiz:

    Coloquei o VBS puro que altera a senha para rodar via script de STARTUP de MACHINE, ou seja, gpo por estação, então não depende de usuario.

    Se quiser te mando o script q uso aqui.


    by Dimiro MCP | ITILF Foi útil? Classifique! Se resolveu, avalie! ;) °dimiro.com | ºtwitter.com/bydimiro
    quinta-feira, 4 de agosto de 2011 21:17
  • eu tentei fazer isso atravéz da gpo, mas não funcionou, na máquina local atravéz do gpedit funcionou, mas pra mim não resolvez tem que ser via gpo por que é umas 800 máquinas pra mim ficava ótimo colocar no startup mas eu também preciso dessa solução de ocutar por que ja tenho outros scripts rodando, se puder me ajudar, e por que você acha que está rodando via gpo, na mesma gpo via logon de script funciona se eu mudo pro startup não roda. Obrigado

    • Editado Ricardotbm sexta-feira, 5 de agosto de 2011 11:30
    sexta-feira, 5 de agosto de 2011 11:08
  • Ricardo,

    Crie um vbs com este script e coloque conforme te falei antes.

    On Error Resume Next

    strComputer = "."
    Set objUser = GetObject("WinNT://"& strComputer & "/administrador, user")

    objUser.SetPassword "SENHA"
    objuser.SetInfo


    by Dimiro MCP | MCDST | ITILF Foi útil? Classifique! Se resolveu, avalie! ;) °dimiro.com | ºtwitter.com/bydimiro
    sexta-feira, 5 de agosto de 2011 11:14
  • E para ocutar os scrips que ja tenho no logon script, você sabe de algo que posso fazer para ocutar é vbs??
    • Editado Ricardotbm sexta-feira, 5 de agosto de 2011 13:42
    sexta-feira, 5 de agosto de 2011 12:00
  • VBS por padrao nao mostra nada, no seu caso so esta aparecendo pq vc fez um vbs que chama uma linha de comando MSDOS.

    Tente passar tudo para linguagem VB.

    Quais tipos de scripts vc tem? Todos estao via gpo?


    by Dimiro MCP | MCDST | ITILF Foi útil? Classifique! Se resolveu, avalie! ;) °dimiro.com | ºtwitter.com/bydimiro
    sexta-feira, 5 de agosto de 2011 12:21
  • sim, um deles é o que eu te passei, um que chama o outro.
    sexta-feira, 5 de agosto de 2011 13:41
  • Então troque este que fez por este que te passei e teste.

    Quanto aos outros só vendo para entender e poder ajudar.

    Se funcionar vote...

    Abs


    by Dimiro MCP | MCDST | ITILF Foi útil? Classifique! Se resolveu, avalie! ;) °dimiro.com | ºtwitter.com/bydimiro
    sexta-feira, 5 de agosto de 2011 13:47
  • está a mesma coisa do meu
    sexta-feira, 5 de agosto de 2011 14:30
  • Vc colocou nas configurações de MAQUINA?

    COMPUTER CONFIGURATION - WINDOWS SETTINGS - SCRIPTS - STARTUP

    Se colocou neste caminho vai ser transparente para o usuario, pois sera aplicado antes da tela de logon, durante a aplicação das diretitvas locais.


    by Dimiro MCP | MCDST | ITILF Foi útil? Classifique! Se resolveu, avalie! ;) °dimiro.com | ºtwitter.com/bydimiro
    sexta-feira, 5 de agosto de 2011 14:37
  • tentei de máquina e de logon, mas o que eu mais queria mesmo é ocutar eles e colocar ele atravez de logon script, por que apreveito e ocuto todos os outros scripts
    sexta-feira, 5 de agosto de 2011 15:10
  • Ricardo não sei como voce esta fazendo mas pelo que entendi, voce tem um script que chama outros scripts correto...

    Você pode colocar eles para rodar em paralelo na lista de Scripts de logon ou Startup.

    Pois pelo que entendi o que esta na lista de startup ou logon  não esta aparecendo mas os outros que sao chamados depois estao aparecendo é isso???

     

    Abraços.

     


    Edson Matias Fagundes Junior (Nioks)
    sexta-feira, 5 de agosto de 2011 16:53
  • é o seguinte eu estou colocando os dois vbs em user configuration em script logon, o vbs com runes que chama o outro vbs para alterar a senha. Os dois e mais os outros estão em user configuration em script logon e quero que continue lá, a única coisa que eu quero é que ele apareça oculto, por que do jeito que está hoje o usuário pode fechar, do jeito que está hoje quando o usuário loga aparece uma tela de prompt e mostra o script rodando, se usuário quizer fechar ele fecha, é issso que eu não quero que aconteça, quero deixar ele oculto. ou bloquear para o usuário não fechar
    sexta-feira, 5 de agosto de 2011 17:30
  • Ricardo,

    Já que prefere usar script po user.

    Tente isso:

    Crie uma GPO e configure assim: User Configuration / Administrative Templates / System / Logon/Logoff
    Clica duas vezes sobre "Run Legacy Logon Scripts hidden" e "Enable"

    Se não funcionar, veja esse suporte: http://support.microsoft.com/kb/176197/pt-br

     

     


    by Dimiro MCP | MCDST | ITILF Foi útil? Classifique! Se resolveu, avalie! ;) °dimiro.com | ºtwitter.com/bydimiro
    sexta-feira, 5 de agosto de 2011 18:48
  • isso não deu não eu ja tinha tentado, pode deixar, vou procurar mais um poquim no google, agradeço.
    sexta-feira, 5 de agosto de 2011 19:00