如何使用vb.net运行“查询会话”?

时间:2015-06-17 21:00:26

标签: vb.net visual-studio-2013 cmd

我想从cmd.exe中执行“查询会话”的结果,并使用VB.NET将它们存储在字符串变量中。我一直在寻找两天,我无法运行命令,一旦命令运行,我将尝试保存结果。

VisualStudio似乎执行cmd.exe而不是C:\ Windows \ System32中的cmd.exe。

        Dim process As System.Diagnostics.Process = New System.Diagnostics.Process
    process.StartInfo.FileName = "C:\Windows\system32\cmd.exe"
    process.StartInfo.Arguments = "/K query session"
    process.StartInfo.UseShellExecute = True
    process.StartInfo.CreateNoWindow = True
    process.StartInfo.RedirectStandardOutput = False
    process.Start()
    process.WaitForExit()

它返回错误:'query'未被识别为内部或外部命令, 可操作程序或批处理文件。

1 个答案:

答案 0 :(得分:0)

这似乎是一个许可问题。您需要将管理员用户的用户名和密码传递给您的命令

.....
process.StartInfo.UserName = "yourAdminUser"
process.StartInfo.Password = GetPassword()
.....


Public Function GetPassword() as String
     Dim ss = new SecureString()
     ss.AppendChar("p")
     ss.AppendChar("a")
     ss.AppendChar("s")
     ss.AppendChar("s")
     return ss
End Function

N.B。 SecureString class需要引用System.Security.dll并导入名称空间System.Security