我想以管理员权限启动PowerShell进程,并将标准输入重定向到编写器,除了如何以管理员身份运行它之外,我已经做好了所有工作.
// Start powershell
powershell := exec.Command("powershell")
// Add something that will open UAC and give the process admin priviliges
powershell.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
powershell.Env = os.Environ()
// Create pipe to write to it later
stdin, err := powershell.StdinPipe()
if err != nil {
log.Fatal(err)
}
defer stdin.Close()
由于似乎没有Process.Verb
这样的东西可以设置为"runas",我try 使用PowerShell命令Start-Process ... -Verb runas
创建一个PowerShell进程,并成功地获得了该进程的PID,但似乎没有办法在以后使用PID来操作stdin和stdout.