java getRuntime().exec 需要 UAC 的 exe

2023-12-04

所以我们有一个作为 Windows 服务运行的 java 进程。它需要执行一个命令Runtime.getRuntime().exec(command)。它执行的命令需要UAC。这是在 Windows Server 2008 上,听起来您无法为单个可执行文件禁用 UAC,那么还有其他方法可以实现此功能吗?


如果您的 Java 应用程序作为 Windows 服务运行,它很可能在以下系统帐户之一下运行:SYSTEM(最有可能)、LOCAL SERVICE 或 NETWORK SERVICE。因此,如果服务在 SYSTEM 帐户下运行,则从该服务启动的所有内容都将继承该帐户。无论如何,您的服务必须被允许与桌面交互。

总而言之,如果您的进程以提升的方式运行,那么从它启动的进程也将以提升的方式运行。


要提升,你必须使用Shell执行 or Shell执行ExWindows API 的功能。如果您正在启动的 .exe 标记为level=requireAdministrator在其清单中,shell 将显示 UAC 对话框。如果没有标记,您可以使用runas强制 UAC 确认对话框的动词/操作。笔记:runas在 Windows XP 上将显示“以其他用户身份运行”对话框。

If Runtime.getRuntime().exec(command)通过 ShellExecute 实现,然后用适当的清单标记 .exe 即可工作;如果exec uses 创建进程,该进程将以当前用户权限启动,即不提升;此外,如果 .exe 有,则该进程根本不会启动requireAdministrator在其清单中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java getRuntime().exec 需要 UAC 的 exe 的相关文章

随机推荐

  • 放大和缩小自定义相机 - 空指针异常

    我正在尝试在我的自定义相机中实现放大和缩小功能 NullPointerException zoomControls setVisibility View GONE 我正在使用这个 相机中的缩放控制在 Android 中不起作用 Previe
  • 包含 Label 标签的链接在 IE 上不可点击

    我遇到过一种与一般 IE 兼容性不寻常的情况 以下链接在 IE 中无法点击 但在其他一切上都很好 我已经尝试过 IE8 及以上版本 a href http bbc co uk a
  • 双指针与单指针

    有人可以向我解释 推理为什么下面代码片段中主函数中变量 i 的值不会通过函数 test1 更改 而会通过 test2 更改吗 我认为单个指针应该足以改变 i 的值 为什么我们应该使用双指针 include
  • 转换为Unix时间时如何指定时区(UTC)? (Python)

    我有 IS8601 格式的 utc 时间戳 正在尝试将其转换为 unix 时间 这是我的控制台会话 In 9 mydate Out 9 2009 07 17T01 21 00 000Z In 10 parseddate iso8601 pa
  • 在 Webkit 中使用带有定位对象的剪切路径

    考虑这个简单的 SVG 文件
  • 如何在 C# 中不使用 bigint 来添加或减去非常大的数字?

    首先我要说的是 我是一个新手 对 C 的了解很少 回到主题 我需要制作一个能够对非常大的整数进行加 减的程序 最初 使用 BigInt 只是发现它是不允许的 应该有一个合乎逻辑的解决方法吗 我有一个想法 使用 小学方法 从右到左添加每个数字
  • kerasR 给出错误

    我正在尝试使用 kerasR 在 R 中进行深度学习 我正在尝试重现包中的示例 尝试以下代码会产生错误 library kerasR mod lt Sequential 错误是 Error in Sequential attempt to
  • UITextView文本量大时文本被截断

    我有一个 UITableViewCell 子类 其中包含一个 UITextView 其中滚动已关闭 我在表视图单元格布局Subviews 方法中像这样设置其框架 CGRect frame self bodyTextView frame CG
  • 如何使用 swift 从 ios 应用程序调用苹果钱包

    每当用户单击我的 ios 应用程序中的 将卡添加到钱包 按钮时 我想显示苹果钱包添加卡页面 如何从ios应用程序调用苹果钱包 我在我的 ios 应用程序中启用了钱包功能 并为我的应用程序生成了钱包权利 如何使用 Swift 使用 PKAdd
  • 为什么不能全局定义结构成员?

    当你定义一个struct在全局范围内 为什么不能在全局范围内定义结构成员 除了使用初始化语法之外 我从 clang 得到的错误是 system 1 有一个 未知的类型名称 如果您在函数中定义结构体 例如main 那么您就不会遇到任何问题 t
  • 如何从字符串中解析公式?

    例如 我有字符串 data1 data2 data3 data4我希望我的小程序获取这个字符串并执行如下操作 int main int argc char argv double data1 1 0 double data2 2 0 dou
  • 从 matplotlib heatplot 中删除空格

    I have a heatplot in matplotlib for which I want to remove the whitespace to the north and east of the plot as shown in
  • 在 macOS Catalina 上安装 Ruby 2.0.0 的问题

    我正在运行 以解决在装有 macOS Catalina 版本 10 15 7 的新 MacBook 上安装 Ruby 2 0 0 的问题 起初我用rvm安装了Ruby 但不起作用 我发现这是因为Catalina的默认终端是ZSH而不是Bas
  • 使用 objectify 为应用程序引擎执行 DISTINCT 查询

    给定以下两个表 如何在 objectify 中编写 执行以下查询 SELECT DISTINCT authorId FROM Book ORDER BY 日期降序限制 30 Entity Book Id private Long bookI
  • 代表用户在朋友的墙上发帖

    我正在编写一个 Facebook 应用程序 需要代表用户在朋友的墙上发布内容 但超出了画布应用程序的范围 我有以下内容 App ID 应用秘密 发布者的publish stream权限 理论上这应该足以做我想做的事 我目前正在做的事情 使用
  • Android 在 RecyclerView 中添加/替换项目

    我知道已经有很多关于这个主题的线程 但到目前为止 没有一个给定的解决方案对我有用 我正在尝试添加或更新某个项目RecyclerView 到目前为止 这是我的代码 主要活动 private MyListItemAdapter mAdapter
  • 优化 MATLAB 代码

    此代码需要非常长的时间才能运行 超过 10 分钟 有什么方法可以优化它 使其在一分钟内完成吗 clear all for i 1 1000000 harmonicsum 0 lhs 0 for j 1 i compute harmonic
  • C++ 中有没有像 python 那样按名称传递参数的方法? [复制]

    这个问题在这里已经有答案了 C 中有没有像 python 那样按名称传递参数的方法 例如我有一个函数 void foo int a int b 1 int c 3 int d 5 我可以这样称呼它吗 foo 5 a c 5 d 8 Or f
  • EC2 实例加载我的用户数据脚本但不运行它

    Code usr bin env python import boto ec2 conn ec2 boto ec2 connect to region us east 1 access keys are environment vars m
  • java getRuntime().exec 需要 UAC 的 exe

    所以我们有一个作为 Windows 服务运行的 java 进程 它需要执行一个命令Runtime getRuntime exec command 它执行的命令需要UAC 这是在 Windows Server 2008 上 听起来您无法为单个