【问题标题】:How do I limit permissions using ShellExecute on remote desktop users如何在远程桌面用户上使用 ShellExecute 限制权限
【发布时间】:2014-03-19 04:52:43
【问题描述】:

在 Windows 2012 Server 上运行的 Delphi XE 应用程序。当用户使用 ShellExecute 打开 Adob​​e Viewer 时,如何限制用户的权限。就目前而言,不允许用户查看服务器上的驱动程序。但是,当用户从应用程序打开 pdf 时,权限将恢复为管理员,这允许他们查看和访问驱动器。

ShellExecute 中是否有可以根据用户登录凭据应用适当权限的设置?

【问题讨论】:

  • 通过“权限”您实际上是在谈论组策略设置吗?您究竟是如何阻止用户看到服务器上的驱动器的?

标签: windows winapi


【解决方案1】:

当您使用ShellExecute 创建进程时,新进程将在父进程的凭据下运行。因此,调用ShellExecute 的进程似乎拥有比您希望授予由ShellExecute 启动的进程更多的权限。

解决问题的一种方法是从在所需凭据下运行的进程调用ShellExecute。可能有其他方法可以解决它,但在不了解您的网络安全配置的情况下,我们不太可能为您提供更具体的建议。

【讨论】:

  • 我们正在通过组策略限制权限。我可以通过以具有有限权限的人身份登录服务器并尝试运行 ShellExecute 调用的特定应用程序来检查这一点。在这种情况下,它是 Adob​​e Reader。当我从服务器启动它时,驱动器在“另存为”期间不可见。但是,当我以同一用户身份登录我的 Delphi 应用程序并使用 ShellExecute 调用从应用程序调用 Adob​​e Reader 时,驱动器在“另存为”期间可见。
猜你喜欢
  • 2020-11-11
  • 1970-01-01
  • 1970-01-01
  • 2020-07-26
  • 2020-04-26
  • 1970-01-01
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多