Запускать командный файл как администратор в java [duplicate]

Scala 2.8 имеет методы scanLeft и scanRight , которые делают именно это.

Для 2.7 вы можете определить свой собственный scanLeft следующим образом:

  def scanLeft [a, b] (xs: Iterable [a]) (s: b) (f: (b, a) = & gt; b) = xs  .foldLeft (List (s)) ((acc, x) = & gt; f (acc (0), x) :: acc) .reverse  

И затем используйте его следующим образом:

  scala & gt;  scanLeft (Список (1,2,3)) (0) (_ + _) res1: Список [Int] = Список (0, 1, 3, 6)  
10
задан Rohan Kandwal 30 January 2013 в 06:15
поделиться

3 ответа

У вас есть несколько вариантов

A. Создать ярлык с admin priv.

Запуск ярлыка cmd /c Rundll32.exe Powrprof.dll,SetSuspendState

В вашем Java-коде будет выполняться ярлык:

Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c start \"\" \"myshortcut.lnk\"")

Щелкните правой кнопкой мыши ярлык icon> properties> advanced> run as administrator

B. Запустите java-процесс как администратор

. Снова создайте ярлык и настройте его как администратора. У всех процессов, которые были созданы, также будут привилегии администратора. Ваш java-код будет запущен:

rt.exec("cmd /c Powrprof.dll,SetSuspendState")

C. Используйте JNA для прямого вызова процедуры SetSuspendState. Для процесса Java потребуется admin priv (например, B), но вам не придется запускать процесс. Если вам это нравится, я могу предоставить исходный код.

D. Используйте утилиту wizmo : wizmo quiet standby

8
ответ дан Rohan Kandwal 15 August 2018 в 17:39
поделиться
  • 1
    rt.exec("cmd /c start \"\" \"myshortcut.lnk\""), но я должен сделать ярлык как cmd /c Rundll32.exe Powrprof.dll,SetSuspendState, но для выполнения этой команды требуется много времени. Есть ли способ увеличить скорость выполнения? – Rohan Kandwal 30 January 2013 в 07:25
  • 2
    Хорошо еще одно, если я хочу использовать опцию sleep с setsuspendstate, тогда мне нужно установить hibernation off. Это снова потребует новый ярлык администратора и, следовательно, два всплывающих окна для принятия. Есть ли способ выполнить эту задачу в 1 ярлыке или команде? – Rohan Kandwal 30 January 2013 в 07:44
  • 3
    Wizmo отлично работает, даже имеет больше опционных опций. благодаря – Rohan Kandwal 30 January 2013 в 08:23
  Runtime.getRuntime().exec("runas /profile /user:Administrator \"cmd.exe /c Powrprof.dll,SetSuspendState\"");

Также plz видит комментарии

Выполняется как администратор без прав администратора

10
ответ дан Community 15 August 2018 в 17:39
поделиться
  • 1
    Можно добавить параметр / noprofile. – mikeslattery 30 January 2013 в 06:25
  • 2
    @TechExchange runas / user: Администратор cmd.exe / c Powrprof.dll, SetSuspendState потребует ввести пароль администратора, который у меня есть. – Rohan Kandwal 30 January 2013 в 06:31
  • 3
    @TechExchange У меня нет паролей для учетной записи администратора, и она запрашивает пароль. – Rohan Kandwal 30 January 2013 в 07:18
  • 4
  • 5
    иногда пользователь должен быть указан как domain \ user, как показано в справочной документации runas (runas /?). Используя этот подход или работая, поскольку Администратор не работал для меня, в корпоративной среде учетная запись может иметь права администратора, или если это не удастся получить пароли администратора. В первом случае команда все еще не запускалась. Запуск на повышенном уровне доступа, по-видимому, является решением – Deepak 5 January 2018 в 12:52

Добавить параметр /savecred

runas /profile /user:Administrator /savecred

Введите пароль один раз. В будущем ОС не будет запрашивать у вас пароль.

6
ответ дан Lorenz Meyer 15 August 2018 в 17:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: