Faccruz 0 Denunciar post Postado Março 4, 2009 Como faço para executar o prompt de comando do DOS? Preciso executar o seguinte comando: net use \\IPServidor Senha /user:Usuário Mas logo em seguida fechar o prompt Tem como fazer isso via ASP.NET? Reforço que é apenas para dar acesso ao servidor e copiar um arquivo necessário Esqueci de mensionar que na grande maioria são Windows NT e 98 Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Março 4, 2009 Se vai resolver seu problema, eu não sei, mas para executar o comendo usa: Process.Start("net use \\IPServidor Senha /user:Usuário");Se não for .Start, é .Run. Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 5, 2009 Valeu! Agora uma coisa que me intriga... Algumas lojas não possuem senha para conectar, como posso capturar a capturar a mensagem que o DOS exibe se foi conectado com sucesso ou houve erro? Tentaria enviar o comando DOS assim daí net use /user:<<Usuario>> \\IPSERVIDOR Usuário é igual para todas as lojas. Gostaria que o usuário não digitasse a senha, queria que fosse tudo automatico, mais ou menos assim: Se o DOS retornou sucesso, continua, caso contrario, volta para tentar novamente Como retornar a mensagem do MS-DOS que fica pedindo senha? Alguns servidores possui senha, outros não... nesses que não tem senha, basta teclar <<ENTER>> para me dar acesso e nos demais preciso digitar a senha e teclar <<ENTER>> Agora como fazer isso sem precisar da interferencia do usuário? Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Março 6, 2009 A resposta está aqui: http://stackoverflow.com/questions/283128/...-a-process-in-c Só que no caso do link, o cara mandou um CTRL+C, você vai mandar um ENTER, só que precisa descobrir qual o valor hexa do ENTER. Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 6, 2009 Fiz exatamente como no exemplo... mas abriu o prompt e ficou nisso apenas... fiz literalmente um CTRL+C e CTRL+V no meu código... Estou fazendo assim: Dim CMDProcesso As New Process Dim CMDInfoInicio As New System.Diagnostics.ProcessStartInfo ''Inicia novo prompt de comando CMDInfoInicio.FileName = "cmd" ''Redireciona o Input CMDInfoInicio.RedirectStandardInput = True ''Redireciona o OutPut CMDInfoInicio.RedirectStandardOutput = True ''Requerido para o redirecionamento CMDInfoInicio.UseShellExecute = False ''Seta Informações de inicialização CMDProcesso.StartInfo = CMDInfoInicio ''Inicia processo CMDProcesso.Start() ''Declara STREAMS de Leitura e Escrita ''E os seta como Input e OutPut do processo Dim SR As System.IO.StreamReader = CMDProcesso.StandardOutput Dim SW As System.IO.StreamWriter = CMDProcesso.StandardInput ''Envia Comando SW.WriteLine("net use \\126.0." & IPServe & ".1 /user:vendas") ''Envia comando para Sair SW.WriteLine("exit") ''Retorna Resultado do prompt MsgBox(SR.ReadToEnd) -> Apenas para mostrar a mensagem... depois irei comentar ''Fecha Streams SW.Close() SR.Close() como incluir a senha qndo pede?? essa é a minha duvida, ou então, capturar qndo der erro Lembrando que eu estou acesando via BROWSER Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 9, 2009 Fiz exatamente como no exemplo... mas abriu o prompt e ficou nisso apenas... fiz literalmente um CTRL+C e CTRL+V no meu código... Estou fazendo assim: Dim CMDProcesso As New Process Dim CMDInfoInicio As New System.Diagnostics.ProcessStartInfo ''Inicia novo prompt de comando CMDInfoInicio.FileName = "cmd" ''Redireciona o Input CMDInfoInicio.RedirectStandardInput = True ''Redireciona o OutPut CMDInfoInicio.RedirectStandardOutput = True ''Requerido para o redirecionamento CMDInfoInicio.UseShellExecute = False ''Seta Informações de inicialização CMDProcesso.StartInfo = CMDInfoInicio ''Inicia processo CMDProcesso.Start() ''Declara STREAMS de Leitura e Escrita ''E os seta como Input e OutPut do processo Dim SR As System.IO.StreamReader = CMDProcesso.StandardOutput Dim SW As System.IO.StreamWriter = CMDProcesso.StandardInput ''Envia Comando SW.WriteLine("net use \\126.0." & IPServe & ".1 /user:vendas") ''Envia comando para Sair SW.WriteLine("exit") ''Retorna Resultado do prompt MsgBox(SR.ReadToEnd) -> Apenas para mostrar a mensagem... depois irei comentar ''Fecha Streams SW.Close() SR.Close() como incluir a senha qndo pede?? essa é a minha duvida, ou então, capturar qndo der erro Lembrando que eu estou acesando via BROWSER Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Março 9, 2009 Tenta colocar assim: SW.WriteLine("net use \\126.0." & IPServe & ".1 /user:vendas") SW.WriteLine(senha) Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 9, 2009 Já tentei isso tbm... Precisaria de um jeito de retornar a mensagem "Digite a senha para que <<USUARIO>> se conecte a <<IPSERVE>>:" Ou então "comando executado com êxito" Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Março 9, 2009 Essa informação não é impressa na tela? Você deveria conseguir pegar usando o: CMDProcesso.StandardOutput.ReadToEnd(); Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 9, 2009 não é impressa, pois gostaria de tornar mais automatico, ou seja, tentar com a senha, se der erro, tentar sem a senha, mas tudo escondido do usuário final Por teste mandei esse comando para um msgbox, e me retornou a imagem que postei alguns tópicos atras Compartilhar este post Link para o post Compartilhar em outros sites