Windows 在没有管理员权限的情况下运行jar文件

Windows 在没有管理员权限的情况下运行jar文件,windows,jar,console,admin,Windows,Jar,Console,Admin,我有一个可运行的jar文件,从它开始 java -jar myFile.jar 在窗户上。一位客户表示,他在启动应用程序时遇到了问题(该应用程序是打包到可执行文件中的jar文件)。我怀疑这与管理权有关。因此,出于测试目的,我希望在没有管理员权限的情况下运行jar文件(因为这样我可以获得System.out/err,这对调试非常有帮助) 我意识到我可以创建一个非管理员帐户并在那里启动应用程序,但是我想知道是否有一种方法专门从管理员帐户启动jar,这样它在控制台中就没有管理员权限。或者:有没有一种

我有一个可运行的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

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

  • 以管理员身份登录
  • 打开命令行
  • 转到System32文件夹(cd C:/Windows/System32)
  • 执行:runas/user:computer\u domain\u name\user1 cmd
  • 您将被要求提供user1的密码。之后,将打开一个新的命令行,其中包含user1的权限

    我已经试过了,而且成功了

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

    我希望这能有所帮助。

    这条路看起来肯定是要走的

    我认为,实现这一点的方法是首先检查您可用的信任级别选项:

    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)