vb.net - 使用 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)
解决方案
您需要将 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)
推荐阅读
- opencv - OpenCV4中TGA格式加载的任何解决方案
- java - 为什么 Lombok 在覆盖通用 getter 时会生成额外的 Getter?
- r - 从 R 导出西里尔字符?
- python - 我可以在异步协程上使用阻塞锁吗?
- tensorflow - tensorflow.keras.preprocessing.text.Tokenizer.texts_to_matrix 有什么作用?
- ios - 尝试在 Network.Framework 中使用 NWConnection 时出现问题
- javascript - 如何将随机大小的图像排列成等长的行?
- powershell - 将 PowerShell 变量传递给文件路径
- html - 将数据传递给 ionic 5 自定义元素标签
- javascript - poseNet on react native 导致 FileReader 错误