【发布时间】:2012-11-23 22:01:44
【问题描述】:
如果我从提升的命令提示符运行takeown /F "C:\Program Files\Borland /A /R /D Y,我将获得Borland 文件夹的所有权。但是如果我运行下面的代码,什么都不会发生。尝试以管理员和普通用户身份运行。
Process process = new Process();
process.StartInfo.FileName = @"C:\Windows\System32\takeown.exe";
process.StartInfo.Verb = "runas";
process.StartInfo.Arguments = "/F \"C:\\Program Files\\Borland\" /A /R /D Y";
process.Start();
process.WaitForExit();
我错过了什么?
【问题讨论】:
-
我也有同样的问题。我尝试编写一个 PowerShell 脚本,该脚本使用 runas 对服务做一些事情……不走运。在我看来, runas != uac (在 Powershell 中会在提示符中询问您的密码,并且不会弹出 uac 对话框)。我也很想找到答案:)
-
你是否启用了 UAC?它适用于我在工作中做它(并且 UAC 被禁用)。也许 UAC 阻止了你这样做?
-
这是在 Windows 8 上且 UAC 已开启。
-
嗯,也许 Windows 8 有不同的(本机)运行进程的方式?您的程序是否设置为 .net 或 winrt 程序?我想 winrt 对您可以调用的进程有限制。
标签: c# .net security process uac