【问题标题】:Get the rights for current user获取当前用户的权限
【发布时间】:2011-04-08 14:35:32
【问题描述】:

您好,我正在使用 VB.Net 2010 框架 2.0。 在我的应用程序中,我想使用 Process.start 运行 Setup.exe。 我想知道启动我的应用程序的用户是否有权运行 setup.exe 感谢您提前回复。

【问题讨论】:

  • 我在你的问题中添加了一个“windows”标签,否则不清楚你在处理哪个操作系统。
  • IsUserAnAdmin function 是迄今为止最简单的方法,但您必须 P/Invoke 才能使用它。我不知道 .NET Framework 提供了什么。我很久以前包装了IsUserAnAdmin
  • 据我所知,IsUserAdmin 不应再使用,因为它不确定将来是否会出现

标签: windows permissions


【解决方案1】:

打电话

new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator)

【讨论】:

  • 这足以覆盖海拔吗?我认为对于一个非提升的管理员会返回false
  • 从快速的 LinqPad 测试看来我是对的。我想从技术上讲你的代码是正确的(只有当你被提升时它才会返回true),但这并不一定意味着你不能运行它。血腥的 UAC :-)
  • 对于标准用户,这将返回 false。
猜你喜欢
  • 1970-01-01
  • 2017-07-04
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多