none
Executar programa assim que logar. RRS feed

  • Pergunta

  • Pessoal,
    estou com o seguinte cenario e gostaria de saber se a melhor opção é por script ou por GPO ou se existe alguma outra solução.
    Se for por script me desculpem, dai eu movo o topico para a Seção de Scripts.

    Eu quero que um usuario ao logar no dominio receba uma tela com a seguinte pergunta:

    Você já atualizou o sistema xyz ?

    Dai opção ()sim ()nao

    se o cara marcar sim o processo de logon continua, se o cara marcar nao entao abre automaticamente o sistema mencionado, ou seja, faço uma chamada para o exe do programa.

    Outra duvida:

    eu sei que eu posso executar um programa assim que ele logar, mas eu consigo "bloquear" o acesso ao resto do SO antes dele acessar este aplicativo ? tem como controlar isso ?

    Obrigado,

    Marco
    • Movido Jesiel S. Pereira sexta-feira, 15 de maio de 2009 19:52 Forum errado ([Loc]From:Windows Server 2003)
    sexta-feira, 15 de maio de 2009 18:50

Respostas

  • Olá pessoal,

    resolvi o meu problema usando o script em VBS que está logo abaixo. Fiz através de pesquisas aqui no forum pois nao entendo nada de script.
    Gostaria de incrementa-lo um pouco, alguem pode ajudar ?

    -x-x-x- INICIO DO SCRIPT -x-x-x-

    Dim WshShell, BtnCode
    Set WshShell = WScript.CreateObject("WScript.Shell")


    Set oADsSysInfo = CreateObject("ADSystemInfo")
    sADsUser = oADsSysInfo.UserName
    set objUser = GetObject ("LDAP://" & sADsUser )
    description = objUser.description

    BtnCode = WshShell.Popup(Ucase(description) & ", Você já atualizou o Salesforce ?",0,"SalesForce:", 4 + 32)

    Select Case BtnCode
       case 6      WScript.Echo "Parabéns! A sua participação é muito importante."
       case 7      WScript.Echo "Que pena! clique em OK para abrir a página do Salesforce."
            WshShell.Run "iexplore login.salesforce.com",3
    End Select

    -x-x-x- FIM DO SCRIPT -x-x-x-

    terça-feira, 26 de maio de 2009 12:34
  • Olá,

    Então...
    Em vbs você não irá conseguir fazer uma tela cheia....

    Você pode fazer em HTA, aí usará uma como um HTML. Dá uma olhada no link abaixo, pode te ajudar:
    http://www.microsoft.com/technet/scriptcenter/hubs/htas.mspx

    Segue o script filtrando por grupo:


    'ARRAY ONDE COLOCA TODOS OS GRUPOS QUE QUER APLICAR O SCRIPT
    aGrupos = Array("Administrators","GRUPOB","grupoA")
     
    Set oADSystemInfo = CreateObject("ADSystemInfo")

    set UserObj = GetObject("LDAP://" & oADSystemInfo.UserName)


    For Each GroupObj In UserObj.Groups
       For x = 0 to UBOUND(aGrupos)
          if UCASE(aGrupos(x)) = UCASE(MID(GroupObj.Name,4,Len(GroupObj.Name))) Then
             pergunta
          End if
       Next 
    Next


    wscript.quit

     
    '==================================================
    Sub Pergunta

    Dim WshShell, BtnCode
    Set WshShell = WScript.CreateObject("WScript.Shell")


    Set oADsSysInfo = CreateObject("ADSystemInfo")
    sADsUser = oADsSysInfo.UserName
    set objUser = GetObject ("LDAP://" & sADsUser )
    description = objUser.description

    BtnCode = WshShell.Popup(Ucase(description) & ", Você já atualizou o Salesforce ?",0,"SalesForce:", 4 + 32)
    Select Case BtnCode

       case 6      WScript.Echo "Parabéns! A sua participação é muito importante."
       case 7      WScript.Echo "Que pena! clique em OK para abrir a página do Salesforce."
            WshShell.Run "iexplore login.salesforce.com",3
    End Select

    End Sub



    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    terça-feira, 26 de maio de 2009 13:33

Todas as Respostas

  • A pergunta vai no logon script, ou seja, por script. Pode ser VBS ou BAT mesmo, ou se quiser algo mais elaborado, use o SMS INSTALLER.

    Quanto a executar apenas o programa, e bloquear o resto do SO, isso pode ser feito somente via Terminal Services, para logon local infelizmente não. O que você pode fazer, é bloquear através de GPO todas as opções do Windows, deixando liberado apenas este programa em específico.


    Espero ter ajudado.
    Ajude a melhorar a eficiência nas buscas, se foi útil, classifique. Rafael Carneiro Machado
    sexta-feira, 15 de maio de 2009 19:25
  • Ola Rafael,

    mas como fazer esta "tela" com a pergunta que quero ? e como chamar o programa ?

    abçs
    sexta-feira, 15 de maio de 2009 19:34
  • Olá,

    Com vbs você consegue...

    Vou mover seu post para facilitar a resposta!

    sexta-feira, 15 de maio de 2009 19:52
  • Olá pessoal,

    resolvi o meu problema usando o script em VBS que está logo abaixo. Fiz através de pesquisas aqui no forum pois nao entendo nada de script.
    Gostaria de incrementa-lo um pouco, alguem pode ajudar ?

    -x-x-x- INICIO DO SCRIPT -x-x-x-

    Dim WshShell, BtnCode
    Set WshShell = WScript.CreateObject("WScript.Shell")


    Set oADsSysInfo = CreateObject("ADSystemInfo")
    sADsUser = oADsSysInfo.UserName
    set objUser = GetObject ("LDAP://" & sADsUser )
    description = objUser.description

    BtnCode = WshShell.Popup(Ucase(description) & ", Você já atualizou o Salesforce ?",0,"SalesForce:", 4 + 32)

    Select Case BtnCode
       case 6      WScript.Echo "Parabéns! A sua participação é muito importante."
       case 7      WScript.Echo "Que pena! clique em OK para abrir a página do Salesforce."
            WshShell.Run "iexplore login.salesforce.com",3
    End Select

    -x-x-x- FIM DO SCRIPT -x-x-x-

    terça-feira, 26 de maio de 2009 12:34
  • Olá Marco,

    Oque você gostaria de incrementar no seu script???

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    terça-feira, 26 de maio de 2009 12:36
  • Olá Jesiel,

    desculpe acabei esquecendo de postar.

    são 4 coisas, 2 delas funcional e as outras 2 são mais para enfeitar o pavão.


    1º-) Eu vou executar o script em VBS através de GPO (User Configuration --> Windows Settings --> Scripts --> Logon), para uma determinada OU, porém nao seria para todos os usuários desta OU e tambem nao gostaria de criar uma OU só para isso pois complicaria e muito as minhas outras GPO's.
    Então gostaria de saber se eu posso "filtrar" através do script que o mesmo só seja executado caso o susuario pertença há um grupo especifico do meu AD.

    2º-) É possivel fazer que enquanto o usuário não clicar em nehuma das respotas o mesmo não possa fazer mais nada, ou seja, é obrigatorio responder a pergunta...uma especie de atributo "activate" nesta janela.

    3º-) É possivel mexer no tamanho da janela ?

    4º-) É possivel inserir uma imagem (logo) nesta janela ?

    Muito Obrigado, Marco
    terça-feira, 26 de maio de 2009 13:00
  • No item 2 só para ficar mais claro, seria como se fosse aqueles casos que enquanto voce não fechar uma janela nao consegue clicar em outra...sabe ?

    abçs
    terça-feira, 26 de maio de 2009 13:02
  • Olá,

    Então...
    Em vbs você não irá conseguir fazer uma tela cheia....

    Você pode fazer em HTA, aí usará uma como um HTML. Dá uma olhada no link abaixo, pode te ajudar:
    http://www.microsoft.com/technet/scriptcenter/hubs/htas.mspx

    Segue o script filtrando por grupo:


    'ARRAY ONDE COLOCA TODOS OS GRUPOS QUE QUER APLICAR O SCRIPT
    aGrupos = Array("Administrators","GRUPOB","grupoA")
     
    Set oADSystemInfo = CreateObject("ADSystemInfo")

    set UserObj = GetObject("LDAP://" & oADSystemInfo.UserName)


    For Each GroupObj In UserObj.Groups
       For x = 0 to UBOUND(aGrupos)
          if UCASE(aGrupos(x)) = UCASE(MID(GroupObj.Name,4,Len(GroupObj.Name))) Then
             pergunta
          End if
       Next 
    Next


    wscript.quit

     
    '==================================================
    Sub Pergunta

    Dim WshShell, BtnCode
    Set WshShell = WScript.CreateObject("WScript.Shell")


    Set oADsSysInfo = CreateObject("ADSystemInfo")
    sADsUser = oADsSysInfo.UserName
    set objUser = GetObject ("LDAP://" & sADsUser )
    description = objUser.description

    BtnCode = WshShell.Popup(Ucase(description) & ", Você já atualizou o Salesforce ?",0,"SalesForce:", 4 + 32)
    Select Case BtnCode

       case 6      WScript.Echo "Parabéns! A sua participação é muito importante."
       case 7      WScript.Echo "Que pena! clique em OK para abrir a página do Salesforce."
            WshShell.Run "iexplore login.salesforce.com",3
    End Select

    End Sub



    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    terça-feira, 26 de maio de 2009 13:33
  • Jesiel,


    a parte de grupos ficou certinho obrigadão...ja vou classificar.

    quanto ao hta, vou ver o link, qualquer coisa eu coloco aqui.

    sobre a minha 2º duvida...é possivel ?

    abçs
    terça-feira, 26 de maio de 2009 14:24
  • eu posso rodar wsh dentro do hta ?

    esta dando erro....pode me ajudar ?
    terça-feira, 26 de maio de 2009 15:25
  • Olá,

    Não.... que eu conheça não dá não...

    você pode fazer algumas adaptações... tipo... criar um arquivo de log... e de tempo em tempo você verifica se o arquivo existe... se não existir ele abre a tela...

    Assim, o usuário pode até abrir os programas dele... mas enquanto ele não clicar na resposta para gerar o log... a mensagem irá aparecer.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    terça-feira, 26 de maio de 2009 15:27
  • Marcos

    Quanto a este lance de bloquear qualquer acesso até que o usuário responda a pergunta que o programa faz, eu pensei em uma coisa, então se for viagem minha, espero que o pessoal me corrija.

    Você poderia criar esse script que o pessoal comentou, e depois gerar um .EXE dele, ou então, gerar um .EXE direto através do SMS INSTALLER, configurando o pacote para tudo que você precisa, inclusive as perguntas. Depois disso você pode configurá-lo como um serviço do sistema operacional. Até aí tudo bem, aí é que vem minha viagem. Poderiamos tentar identificar um serviço do Windows (não lembro nenhum de cabeça) que rode como dependência do explorer.exe, aí colocar o serviço do .EXE que você criou como dependência deste outro.

    Acompanhe minha lógica (exemplos, é preciso validar cada um dos serviços):
    O EXPLORER.EXE, responsável por disponibilizar os itens como desktop, menu iniciar, ícones, etc, depende do serviço ABC, ou seja, ele só é executado depois que o serviço ABC é iniciado;
    Então você poderia configurar o seu script como dependência para o serviço ABC;
    Assim você faria com que o script fosse executado antes que qualquer outro item do usuário seja carregado na estação.

    Me passe o caminho completo do executável do programa que você quer abrir quando os usuários clicarem em NÃO, vou tentar montar esse pacote para você e fazer uns testes por aqui.

    Juro que não fumei nada, mas "TEORICAMENTE" vocês tem que concordar que funcionaria.

    []´s
    Ajude a melhorar a eficiência nas buscas, se foi útil, classifique. Rafael Carneiro Machado
    terça-feira, 26 de maio de 2009 17:55
  • Oi Jesiel,

    realmente nao da...achei na documentação sobre HTA que WSH nao roda sobre HTA, pois ele usa um processo prorpio chamado mshta....ele aceita somente comando vbscript.

    voce sabe como "transformar", a sintaxe daquele codigo escrito em wsh para vbscript ?

    abçs
    terça-feira, 26 de maio de 2009 17:56
  • Olá pessoal,
    Marco eu tenhu um bat que faz exatamente o que você prescisa...
    Ao logar faz uma pergunta para o usuário, porém o explorer.exe não roda atraz, forçando o usuário a ter que responder a pergunta como nãó há botão para fechar...
    se prescisa ainda me manda um e-mail...
    dino.xd@hotmail.com
    terça-feira, 7 de dezembro de 2010 01:55
  • Boa,

    Eu estava precisando exatamente desta dica, valeuuu


    Adilson de Alencar Batista
    quarta-feira, 8 de dezembro de 2010 19:52