Como faço para iniciar o iexplore.exe para abrir uma URL de uma tarefa agendada do Windows 2003? Parece apenas abrir o URL necessário quando eu estou logado como o usuário que ele executa

1

Eu quero iniciar o iexplore uma vez por hora apontando para um URL específico para iniciar algum processamento. É um servidor Windows 2003 com o Internet Explorer 7 em execução na configuração de segurança avançada.

A tarefa agendada está definida para não exigir que o usuário faça login para cancelar essa tarefa.

Quando eu estou logado, posso ver o popup da janela do iexplore e desaparecer novamente, e sei que ele acessou meu url (configurei para que eu receba um e-mail).

Quando não estou logado, não recebo nada do meu URL - mas quando olho para o Registro Agendado, ele diz que a tarefa executou o programa OK com um código de saída 0. Eu só posso assumir que iexplore pops up - mas não vai para o URL necessário.

Isso tem algo a ver com a "configuração de segurança aprimorada" do IE?

O que eu preciso fazer para abrir o IE e acessar a URL?

Esclarecimento: A url aponta para uma página .aspx - então eu quero algo que possa iniciar uma página da web e não cair quando a página .aspx tentar acessar as informações da sessão.

    
por Paul H 27.01.2010 / 18:10

6 respostas

3

Você realmente precisa de um navegador completo para atingir esse URL? Ou você só precisa de algo que fala http? Se for o último, você deve tentar usar algo como cURL . Do site deles:

curl is a command line tool for transferring data with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a busload of other useful tricks.

Basicamente, ele deve ignorar quaisquer problemas estranhos que tentem executar o IE como uma tarefa agendada. Também é muito menor e mais eficiente para essa tarefa, porque ela não renderiza a resposta do servidor (embora você possa salvar / processar o HTML bruto, se quiser).

    
por 27.01.2010 / 18:19
4

Estou me perguntando por que você quer lançar um monstro tão só para acessar uma URL?

Não importa ...

Aqui estão algumas coisas que podem ajudar:

Esses são todos os utilitários de linha de comando que podem facilitar sua vida.

    
por 27.01.2010 / 18:21
0

Eu acho que está relacionado a esse problema: Tarefas agendadas com problema de GUI

Certos elementos da GUI ficam indisponíveis quando o usuário não está logado. Se você só precisa acessar uma URL para desencadear alguns scripts do lado do servidor, você pode usar o cURL para windows: link

    
por 27.01.2010 / 18:20
0

Não posso dizer que tentei fazer o que você está fazendo no Windows Server.

Se você está apenas olhando para fazer uma requisição HTTP e jogando fora os resultados que você pode querer olhar usando uma porta Win32 do GNU wget ao invés do Internet Explorer.

    
por 27.01.2010 / 18:21
0

Para responder à pergunta, basta passar o URL na linha do cmd:

iexplore http://yoursite.com/yourprocess.asp

Defina o diretório "start in" como c:\program files\internet explorer .

No entanto, você não pode fechar o navegador de maneira não interativa. Os truques antigos do javascript não funcionam com versões mais recentes do IE. Eu acho que cURL é o melhor caminho a seguir e realiza a mesma tarefa.

    
por 27.01.2010 / 19:55
0

Estou procurando uma maneira ainda melhor de fazer isso do que estou usando agora. Atualmente estou usando um simples script .vbs para conseguir isso.

url="http://www.mysite.com/updates.asp"
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
Call objHTTP.Open("GET", url, FALSE)
objHTTP.Send

Na sua tarefa agendada, chame o programa "wscript.exe" e especifique o caminho absoluto completo para o arquivo .vbs como argumento.

    
por 06.10.2011 / 23:45