ARF*_*ARF 4 windows runas vbscript windows-xp
我有一个进程在 Windows XP 计算机上的本地系统帐户下运行。然后,此进程尝试以系统上的另一个用户(例如 Max)身份使用其默认应用程序打开文件。Max 已登录并拥有桌面。
使用 vbscript 中的 ShellExecute 使用以下命令打开该文件:
runas /user:Max "cmd.exe /C start \"path_to_file\""
Run Code Online (Sandbox Code Playgroud)
上面在本地系统帐户下运行的进程执行完毕后,系统会提示 Max 输入密码。(因此,runas 组件显然至少已经启动了。)
只是,即使输入正确的密码后,runas 也会产生以下错误:
RUNAS ERROR: Unable to run - cmd.exe /C start "path_to_file"
5: Access is denied.
Run Code Online (Sandbox Code Playgroud)
我不清楚什么访问被拒绝。运行 cmd.exe /C start "path_to_file" as Max 工作得很好。因此,Max 显然可以访问“path_to_file”。
这似乎与 PSExec 遇到的问题相同。编辑:Runas 和 PSExec 通过调用 CreateProcessWithLogonW 生成具有不同凭据的新进程。但是,如果您使用“LocalSystem”帐户:
您无法从在“LocalSystem”帐户下运行的进程调用 CreateProcessWithLogonW,因为该函数使用调用者令牌中的登录 SID,而“LocalSystem”帐户的令牌不包含此 SID。
http://msdn.microsoft.com/en-us/library/ms682431%28VS.85%29.aspx
归档时间: |
|
查看次数: |
10248 次 |
最近记录: |