Windows 在没有管理员权限的情况下运行jar文件
我有一个可运行的jar文件,从它开始Windows 在没有管理员权限的情况下运行jar文件,windows,jar,console,admin,Windows,Jar,Console,Admin,我有一个可运行的jar文件,从它开始 java -jar myFile.jar 在窗户上。一位客户表示,他在启动应用程序时遇到了问题(该应用程序是打包到可执行文件中的jar文件)。我怀疑这与管理权有关。因此,出于测试目的,我希望在没有管理员权限的情况下运行jar文件(因为这样我可以获得System.out/err,这对调试非常有帮助) 我意识到我可以创建一个非管理员帐户并在那里启动应用程序,但是我想知道是否有一种方法专门从管理员帐户启动jar,这样它在控制台中就没有管理员权限。或者:有没有一种
java -jar myFile.jar
在窗户上。一位客户表示,他在启动应用程序时遇到了问题(该应用程序是打包到可执行文件中的jar文件)。我怀疑这与管理权有关。因此,出于测试目的,我希望在没有管理员权限的情况下运行jar文件(因为这样我可以获得System.out/err
,这对调试非常有帮助)
我意识到我可以创建一个非管理员帐户并在那里启动应用程序,但是我想知道是否有一种方法专门从管理员帐户启动jar,这样它在控制台中就没有管理员权限。或者:有没有一种方法可以打开一个没有管理员帐户管理员权限的控制台
客户使用Windows XP,因此这是我可以使用的操作系统。(虽然如果您知道Win7等较新Windows中的某些内容,如果您也能告诉我,我将不胜感激)
编辑:澄清一下:我在找这样的东西
java -jar -runWithoutAdminRights myFile.jar
或
或者从管理员帐户打开非管理员控制台的方法。编辑注册表是与管理员自动运行jar文件的最佳方法。
如果您有java应用程序的设置,这将很容易。
转到注册表中的以下路径:
HKEY\U CURRENT\U USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
创建具有以下规范的键(字符串值):
ValueName:java path+javaw.exe(示例c:\program files\java\jre7\bin\javaw.exe)
ValueData:“WINXPSP3 RUNASADMIN”
现在,所有Jar文件都运行到Administrator您可以按照以下步骤操作:
runas/showrustlevels
您应该得到如下内容:
C:\Windows\system32>runas /showtrustlevels
The following trust levels are available on your system:
0x20000 (Basic User)
然后,您将获取“Basic User”的值,并运行类似以下的操作来启动java:
runas/trustlevel:0x20000“java-jar myFile.jar”
我实际上喜欢从管理员帐户以非管理员身份运行它,而不是相反。而且,我只想用这种方式运行一个罐子,而不是一直这样。所以更改注册表不是一个真正的选项。我会说这不太可能。@ShaneHsu看起来像…;)我知道这是可能的。我将在星期一对此进行测试。:)工作完美。虽然在某些计算机上,我只获得了“基本用户”,但没有ID。有没有办法在这些系统上实现这一点?嗯,我怎样才能给你奖金呢/获取没有任何id的“基本用户”很有趣。。据我所知,0x20000似乎是一个标准。也许使用/trustlevel:0x20000运行将起作用,即使出于任何原因,它没有在给定系统上使用/showtrustlevels定义。至于奖金,我不知道,我很高兴我能帮上忙=)我可以确认0x20000是有效的,即使它没有显示出来。至少在我工作的机器上。再次感谢非常感谢,我会在周一测试这个。看起来很有希望。效果很好,但我不想再创建一个帐户。但是,你给了我一个有用的解决方案,它正确地回答了这个问题,应该得到奖励
C:\Windows\system32>runas /showtrustlevels
The following trust levels are available on your system:
0x20000 (Basic User)