首页 > 解决方案 > 使用 vb.net 写入新创建的命令提示符窗口

问题描述

我正在尝试使用 vb.net 以管理员身份使用命令提示符,并通过在默认 cmd.exe 文件中使用 runas 打开它。然后我想通过新打开的命令提示符窗口运行命令,该窗口使用 vb.net 作为域管理员运行。我该怎么做呢?

这是我正在使用的方法:

Public Sub runCmd(ByVal pass As String, ByVal command As String, ByVal arguments As String, ByVal permanent As Boolean)
    Dim p As Process = New Process()
    Dim pi As ProcessStartInfo = New ProcessStartInfo()
    pi.Arguments = " "+ If(permanent = True, "/K", "/C") + " " + command + " " + arguments
    pi.FileName = "cmd.exe"
    p.StartInfo = pi
    p.Start()
End Sub

这是打开 cmd 的调用:

runCmd(strPass, "runas", "/user:<domain>\" + strUser + " cmd", False)

标签: vb.netcommand-prompt

解决方案


您需要将 to 的Verb属性设置StartInfo"runas"

Public Sub runCmd(ByVal pass As String, ByVal command As String, ByVal arguments As String, ByVal permanent As Boolean)
    Dim p As Process = New Process()
    Dim pi As ProcessStartInfo = New ProcessStartInfo()
    pi.Arguments = " " + If(permanent = True, "/K", "/C") + " " + command + " " + arguments
    pi.FileName = "cmd.exe"
    pi.Verb = "runas"
    p.StartInfo = pi
    p.Start()
End Sub

然后你像这样调用你的函数:

runCmd(strPass, "", "/user:<domain>\" + strUser, False)

推荐阅读