Как сделать удаленный сеанс PSSession и запустить скрипт на удаленном рабочем столе? - PullRequest
0 голосов
/ 13 мая 2018

Когда я пытаюсь подключиться и запустить скрипт PowerShell вручную из CMD, я могу это сделать, но когда я пытаюсь сделать то же самое в своем коде Java, отображается ошибка, мой код для подключения такой:

String command = "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell C:\\scr.ps1";

Process powerShellProcess = Runtime.getRuntime().exec(command);

powerShellProcess.getOutputStream().close();
String line;
System.out.println("Standard Output:");
BufferedReader stdout = new BufferedReader(new InputStreamReader(
    powerShellProcess.getInputStream()));
while ((line = stdout.readLine()) != null) {
    System.out.println(line);
}
stdout.close();
//En caso de error se obtiene
System.out.println("Standard Error:");
BufferedReader stderr = new BufferedReader(new InputStreamReader(
    powerShellProcess.getErrorStream()));
while ((line = stderr.readLine()) != null) {
    System.out.println(line);
}
stderr.close();
System.out.println("Done");

Прежде чем я попытался поместить все команды в командную строку, но это не сработало, поэтому я решил поместить это в скрипт. Скрипт содержит это:

$pass = ConvertTo-SecureString "pass" -AsPlainText -Force
$cred = New-Object System.management.Automation.PSCredential("user", $pass)
Enter-PSSession -ComputerName User-Pc -Credential $cred ;

dir

но последняя команда dir выполняется на локальном рабочем столе mi, а не на удаленном, я отлаживаю и не вижу ошибок, скрипт работает, соединение выполнено, но я не понимаю, почему dir команда не выполняется на удаленном рабочем столе, кто-нибудь знает, что происходит?

1 Ответ

0 голосов
/ 13 мая 2018

Enter-PSSession для интерактивного использования. Для неинтерактивного выполнения команды используйте Invoke-Command:

Invoke-Command -Computer 'User-Pc' -Scriptblock {
    Get-ChildItem
} -Credential $cred
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...