Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

Executar prompt MSDOS

Recommended Posts

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

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

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

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()

Imagem Postada

 

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

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()

Imagem Postada

 

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.