Process调用DOS相关问题

dongshanyu 2016-01-18 04:37:27
想通过Process调用DOS命令连接目标机器上的共享文件夹,代码如下:

Dim objProc As New System.Diagnostics.Process
Try
objProc.StartInfo.FileName = "CMD.EXE"
objProc.StartInfo.UseShellExecute = False
objProc.StartInfo.RedirectStandardInput = True
objProc.StartInfo.RedirectStandardOutput = True
objProc.StartInfo.RedirectStandardError = True
objProc.StartInfo.CreateNoWindow = True
objProc.Start()
Dim strCmd As String = String.Empty
'strCmd = String.Format("NET USE {0} ""{1}"" /USER:""{2}"" ", strDir, strPWD, strUser)
strCmd = String.Format("NET USE {0} ""{1} /USER:{2}"" ", strDir strPWD, strUser)
objProc.StandardInput.WriteLine(strCmd)
objProc.StandardInput.WriteLine("EXIT")
While Not objProc.HasExited
objProc.WaitForExit(1000)
End While
Dim strErrorMsg As String = objProc.StandardError.ReadToEnd
objProc.StandardError.Close()
If strErrorMsg Is Nothing Or strErrorMsg = String.Empty Then
Else
Throw New Exception(strErrorMsg)
End If
Catch ex As Exception
Return False
Finally
objProc.Close()
objProc.Dispose()
End Try

但连接失败,系统提示:
System error 1326 has occurred.
Logon failure: unknown user name or bad password.

但若通过手工cmd窗口,执行上面的 NET USE,连接没问题。
有谁知道问题在哪?

...全文
170 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongshanyu 2016-01-22
  • 打赏
  • 举报
回复
通过Process调用Cmd执行Dos命令时,用户名未指明目标机器: 修正前:test 修正后:machine\test 未指明目标机器有时也能成功建立连接,测试时我连接另外一台目标机器时就遇到此情况,第1次连接会成功,之后会一直提示: System error 1312 has occurred. A specified logon session does not exist. It may already have been terminated. 只是有些疑惑,为何手工打开cmd,输入用户名未指明目标机器,没有这个问题。
Justin-Liu 2016-01-19
  • 打赏
  • 举报
回复
调试的时候看看信息跟你CMD里用的一样不
Poopaye 2016-01-19
  • 打赏
  • 举报
回复
直接使用net.exe
threenewbee 2016-01-18
  • 打赏
  • 举报
回复
http://baike.baidu.com/link?url=TkrdHJgbOb9559hH5RUQEZk40x8n6VSWbbAcHy8wWLrch6mE3j7_vwcrT-wy2NpvmswbyBi5j7jdps6yik3q1a
threenewbee 2016-01-18
  • 打赏
  • 举报
回复
用WNetAddConnection2登录
xugangggg 2016-01-18
  • 打赏
  • 举报
回复
确认下 strCmd = String.Format("NET USE {0} ""{1} /USER:{2}"" ", strDir strPWD, strUser) 这个产生出来的字串是否正确。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧