Используя Вызывать-команду Powershell для установки .exe на удаленном компьютере

Я думаю, что можно делать ненужную работу здесь. Если Вы установите принтеры с так называемым "соединением на машину", то принтер будет доступен всем пользователям и сервисам на ту машину. Я знаю, что мы печатаем от Tomcat, выполняющего как услуга этот путь. Протест: Я не на 100% уверен, что это работает на учетную запись Локальной службы.

Кажется, что Вы уже знаете о PrintUI.dll Руководство пользователя PrintUI.DLL и Ссылку

Существенные части:
    rundll32 printui.dll PrintUIEntry / в/n\machine\printer
- или -
    rundll32 printui.dll PrintUIEntry/, если/f %windir %\inf\ntprint.inf/r "lpt1":/m "HP PSC 500"

При выполнении его способ, которым Вы описываете, может создать ненужное ослабление Вашей безопасности. Услуги должны работать с минимальными полномочиями, требуемыми сделать их задания. При выполнении их в учетной записи пользователя можно легко непреднамеренно дать сервисные полномочия, которые она не должна иметь.

2
задан 30 December 2011 в 18:12
3 ответа

Команда invoke требует, чтобы удаленный компьютер был настроен для удаленного управления. Выполнение удаленных команд

Если вы не можете настроить удаленное управление, вы можете использовать Windows Management Instrumentation (WMI) для удаленного выполнения. Выполнение программы на удаленном компьютере с помощью PowerShell

1
ответ дан 3 December 2019 в 10:59

Could you try the following:

  1. Enter-pssession to check that your remoting config works

  2. Copy the exe from N: (I'm assuming this is a mapped drive on the server) to C: or some local disk and run the script again after adjusting the path? There is a good chance double-hop authentication interferes with your script.

1
ответ дан 3 December 2019 в 10:59

Я исхожу из предположения, что ваша команда в блоке сценариев верна. Выполнена ли команда Invoke или вам нужно убить команду? Попробуйте выполнить команду, и результаты будут возвращены в такую ​​переменную:

$var = Invoke-Command -ComputerName <Computer> -ScriptBlock {& "N:\Temp\fortify_installer\HP-Fortify-3.20-Analyzers_and_Apps-Windows-x86.exe /s /f1N:\Temp\fortify_installer\response.iss"}

Все выглядит нормально, за исключением того, что я бы добавил параметр -scriptblock для ясности. Попробуйте поместить то, что у вас есть в блоке сценариев, в файл .PS1, а затем используйте параметр -filepath с указанием местоположения только что созданного сценария ps1.

Это вполне может быть проблема интерактивного сеанса, но результаты вашей команды invoke должны сообщить вам об этом. В противном случае вам может потребоваться просмотреть журналы событий на этом удаленном компьютере и посмотреть, не появляется ли там что-нибудь.

Выполнена ли команда Invoke или вам нужно убить команду? Попробуйте выполнить команду, и результаты вернутся в такую ​​переменную:

$var = Invoke-Command -ComputerName <Computer> -ScriptBlock {& "N:\Temp\fortify_installer\HP-Fortify-3.20-Analyzers_and_Apps-Windows-x86.exe /s /f1N:\Temp\fortify_installer\response.iss"}

Все выглядит нормально, за исключением того, что я бы добавил параметр -scriptblock для ясности. Попробуйте поместить то, что у вас есть в блоке сценариев, в файл .PS1, а затем используйте параметр -filepath с указанием местоположения только что созданного сценария ps1.

Это вполне может быть проблема интерактивного сеанса, но результаты вашей команды invoke должны сообщить вам об этом. В противном случае вам может потребоваться просмотреть журналы событий на этом удаленном компьютере и посмотреть, не появится ли там что-нибудь.

Команда Invoke завершена или вам нужно убить команду? Попробуйте выполнить команду, и результаты будут возвращены в такую ​​переменную:

$var = Invoke-Command -ComputerName <Computer> -ScriptBlock {& "N:\Temp\fortify_installer\HP-Fortify-3.20-Analyzers_and_Apps-Windows-x86.exe /s /f1N:\Temp\fortify_installer\response.iss"}

Все выглядит нормально, за исключением того, что я бы добавил параметр -scriptblock для ясности. Попробуйте поместить то, что у вас есть в блоке сценариев, в файл .PS1, а затем используйте параметр -filepath, указав местоположение только что созданного сценария ps1.

Это вполне может быть проблема интерактивного сеанса, но результаты вашей команды invoke должны сообщить вам об этом. В противном случае вам может потребоваться просмотреть журналы событий на этом удаленном компьютере и посмотреть, не появится ли там что-нибудь.

PS1, а затем используйте параметр -filepath с указанием местоположения только что созданного сценария ps1.

Это вполне может быть проблема интерактивного сеанса, но результаты вашей команды invoke должны сообщить вам об этом. В противном случае вам может потребоваться просмотреть журналы событий на этом удаленном компьютере и посмотреть, не появится ли там что-нибудь.

PS1, а затем используйте параметр -filepath с указанием местоположения только что созданного сценария ps1.

Это вполне может быть проблема интерактивного сеанса, но результаты вашей команды invoke должны сообщить вам об этом. В противном случае вам может потребоваться просмотреть журналы событий на этом удаленном компьютере и посмотреть, не появляется ли там что-нибудь.

1
ответ дан 3 December 2019 в 10:59

Теги

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