运行没有管理员权限的jar文件

时间:2012-08-08 15:52:10

标签: windows jar console admin

我有一个可运行的jar文件,我以

开头
java -jar myFile.jar
在Windows上

。客户表示他在启动应用程序时遇到问题(这个jar文件包装成可执行文件)。我怀疑它与管理员权限有关。所以我想在没有管理员权限的情况下运行我的jar文件用于测试目的(因为这样我获得了System.out/err,这有助于调试)。

我意识到我可以创建一个非管理员帐户并在那里启动应用程序,但是我想知道是否有办法从管理员帐户专门启动一个jar,这样就不会t在控制台中拥有管理员权限。或者:是否有办法从管理员帐户打开没有管理员权限的控制台?

客户使用的是Windows XP,因此这是我可以使用的操作系统。 (虽然如果你对像Win7这样的新版Windows有所了解,如果你也告诉我,我会很感激。)

编辑:澄清:我正在寻找类似的东西

java -jar -runWithoutAdminRights myFile.jar

start /runWithoutAdminRights java -jar myFile.jar

或从管理员帐户打开非管理控制台的方法。

3 个答案:

答案 0 :(得分:4)

Runas command绝对是最佳选择。

我认为解决这个问题的方法是首先检查您可以使用的信任级别选项:

runas /showtrustlevels

您应该得到以下内容:

C:\Windows\system32>runas /showtrustlevels
The following trust levels are available on your system:
0x20000 (Basic User)

然后,您将获取“基本用户”的值并运行以下内容以启动java:

runas /trustlevel:0x20000 "java -jar myFile.jar"

答案 1 :(得分:1)

您可以按照以下步骤操作:

  
      
  1. 以管理员身份登录
  2.   
  3. 打开命令行
  4.   
  5. 转到System32文件夹(cd C:/ Windows / System32)
  6.   
  7. 执行:runas / user:computer_domain_name \ user1 cmd
  8.   

系统会要求您提供user1的密码。然后打开一个具有user1权限的新命令行。

我已经尝试过它并且有效。

总之,您可以编写一个非常简单的批处理,自动执行步骤2,3,4,这样当您单击它时,命令行将以另一个用户的权限打开。

我希望这会有所帮助。

答案 2 :(得分:0)

编辑注册表是管理员自动运行jar文件的最佳方式 如果你有java应用程序的设置很容易。

转到注册表中的以下路径:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
使用以下规范创建密钥(字符串值):
    ValueName: java path+javaw.exe(example c:\program files\java\jre7\bin\javaw.exe)
    ValueData: "WINXPSP3 RUNASADMIN"

现在所有Jar文件都运行到Administartor