Java ProccessBuilder выполняет сценарий PowerShell от имени администратораJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java ProccessBuilder выполняет сценарий PowerShell от имени администратора

Сообщение Anonymous »

У меня есть приложение Java, которое запускается без прав администратора.
Из моего приложения Java я хочу запускать различные сценарии PowerShell. Скрипты PowerShell имеют входные и выходные параметры. Внутри скриптов выполняются команды PSRemoting для управления другими компьютерами под управлением Windows. Мне нужно запустить сценарии PowerShell из Java от имени администратора. В моем Java-приложении известны пользователь и пароль администратора.
Запуск сценария PowerShell, передача аргументов и возврат возвращаемых значений пока работает. Но мне не удалось запустить скрипт от имени администратора.

Код: Выделить всё

      List cmd = new ArrayList();
cmd.add("powershell.exe");
cmd.add("-ExecutionPolicy");
cmd.add("Bypass");
cmd.add("-File");
cmd.add(tempScriptPath.toString());

// Add the arguments for the PowerShell file
Iterator fields = jsonArgs.fields();
while (fields.hasNext()) {
Map.Entry field = fields.next();
String key = field.getKey();
String value = field.getValue().asText(); // Get value as text

// Add the key and value to the list
cmd.add("-" + key);
cmd.add(value);
}

ProcessBuilder pb = new ProcessBuilder(cmd);
pb.redirectErrorStream(true); // Combine stdout and stderr

// Start the process
Process process = pb.start();
Это фиктивный сценарий PowerShell:

Код: Выделить всё

param (
[string]$ip
)
Write-Output "PS INFO: Check if ps remoting is active"

$hostname = Invoke-Command -ComputerName 127.0.0.1 -ScriptBlock { hostname }

Write-Output "PS INFO: Hostname is $hostname"

$result = @{
PsErrorCode = 0
Hostname = $hostname
}

$result | ConvertTo-Json -Depth 10
Думаю, мне нужно добавить параметр runAs, а также пользователя и пароль в cmd, но до сих пор мне это не удалось.
Может быть, кто-то знает, как запустить скрипт от имени администратора.

Подробнее здесь: https://stackoverflow.com/questions/792 ... t-as-admin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»