Powershell: удаленная установка exe

Использование Powershell для остановки службы удаленно без WMI или удаленного доступа

Я столкнулся с этим одним лайнером, который работает:

Может кто-нибудь объяснить, почему, потому что я думал, что стоп-сервис не работает, если вы не использовали удаленный доступ или не произошли на локальном хосте.

Powershell: удаленная установка exe

У меня проблемы с моим скриптом, который предназначен для удаленной установки исполняемого файла. Все предварительные действия моего сценария работают просто отлично. Я извлекаю имена хостов около десятка компьютеров из текстового файла. Я использую PSExec для включения-PSRemoting. Затем установщик копируется во временный каталог на удаленном компьютере. Все отлично работает, кроме важной части. Я просто не могу заставить его установить.

Я пробовал следующее:

Я пытался использовать New-PSSession так:

Никто не посылает никаких ошибок, они просто ничего не делают. Команды, которые имеют -Wait просто навсегда зависают. Если я ставлю -Sleep, он просто ждет запрошенные секунды, а затем завершает работу, ничего не делая. Я не знаю, имеет ли это значение, но когда я запускаю исполняемый файл на локальном компьютере с параметром / SILENT, он не запрашивает никаких запросов, но открывает окно проводника.

Я пытался использовать PSExec.exe, но я получаю аналогичный результат. Просто навсегда висит безо всякой ошибки. Заранее благодарю за любую помощь!

Invoke-Команда

Если вы не хотите использовать pssessions, вы также можете использовать Invoke-Command на удаленной машине. Вы уже пытаетесь сделать это с помощью последних строк кода.

Если вы пойдете по этому пути, знайте о проблемах с областью действия и посмотрите, как передавать аргументы в блок сценариев .

Я не уверен, почему ваш не работает. Возможно, у вас есть какие-то ошибки, которые подавляются? Я бы попробовал что-нибудь попроще для тестирования. Основано ли ваше приложение GUI? Это может не сработать при таком запуске. Попробуйте что-то вроде ipconfig и посмотрите, каковы результаты.

Я бы также рассмотрел while loop с условием тайм-аута, пока вы ждете завершения/запуска процесса на удаленной машине. Это означало, что вы можете лучше объяснить неудачи, вместо того чтобы считать, что 10 секунд достаточно.

Я думаю, что у вас проблема с локальным/удаленным выполнением.

(Get-WmiObject win32_process -ComputerName $computer -Credential $mycreds | ?< [H1toH2]

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

Я пытаюсь сопоставить сетевой диск на удаленном компьютере с помощью команды Invoke-Command: Invoke-Command -ComputerName servername -ScriptBlock < net use L: \serverfolder password /user:login>.

Я установил PS 1.0 на удаленный компьютер(RPC001). Я использовал Windows Sysinternals tool PSExec.exe для выполнения следующего процесса на удаленном компьютере: PSExec \RPC001 -u myID -p myPWD.

Как сопоставить / размонтировать сетевой ресурс на удаленном компьютере с помощью powershell? Спасибо

У меня есть 3 сервера, на которых работают 3 службы: Сервер-запущенная служба serv1.exe Сервер-B запускает службу serv2.exe Сервер-C запуск службы serv3.exe Используя PowerShell, как я могу.

У нас есть программа, работающая примерно на 400 PCs (все W7). Эта программа называется Wisa. Мы регулярно получаем обновления для этой программы, названной что-то вроде wisa_update1.0.exe .

Я пытаюсь запустить программу на удаленном компьютере, но не могу найти файл. Что случилось? C:tempPSTools>psexec \nb_IT10 -u godrjak -p pimpam1+ c:Program Files.

Я пытаюсь обновить строку файла на удаленном компьютере. В своем скрипте я использую следующий код. Get-Content Clients.txt | ForEach-Object \ < Get-Item \ [H1toH2]

Invoke-Команда

Если вы не хотите использовать pssessions, вы также можете использовать Invoke-Command на удаленной машине. Вы уже пытаетесь сделать это с помощью последних строк кода.

Если вы пойдете по этому пути, знайте о проблемах с областью действия и посмотрите, как передавать аргументы в блок сценариев .

Я не уверен, почему ваш не работает. Возможно, у вас есть какие-то ошибки, которые подавляются? Я бы попробовал что-нибудь попроще для тестирования. Основано ли ваше приложение GUI? Это может не сработать при таком запуске. Попробуйте что-то вроде ipconfig и посмотрите, каковы результаты.

Я бы также рассмотрел while loop с условием тайм-аута, пока вы ждете завершения/запуска процесса на удаленной машине. Это означало, что вы можете лучше объяснить неудачи, вместо того чтобы считать, что 10 секунд достаточно.

Я думаю, что у вас проблема с локальным/удаленным выполнением.

(Get-WmiObject win32_process -ComputerName $computer -Credential $mycreds | ?< [H1toH2]
.ProcessName -match «Workbench3.helper» >).Terminate()

Приведенная выше строка возвращает все процессы с удаленного компьютера на локальный компьютер. Чем вы настраиваете возвращенные объекты-процессы на своей машине LOCAL и вызываете Terminate() на своей машине LOCAL. Я бы посоветовал вам вместо этого использовать следующую строку:

Это должно убить процесс(ы) Workbench3. Я использовал оператор like , чтобы сделать фильтрацию менее строгой.

После этого вы можете повторно использовать сеанс, сохраненный в $pers , чтобы снова запустить процесс.

Invoke-command -session $pers -scriptblock

Я дополнительно использовал переключатель -Wait . Переключатель заставляет Start-Process ждать запуска программы (и возвращаться после этого).

При выполнении удаленных операций я всегда предлагаю выполнять эти операции через Invoke-Command , а не через параметры -ComputerName нескольких команд. Invoke-Command использует WS-MAN через HTTP(Ы), в то время как удаленная реализация команд, предлагающих параметр -ComputerName , отличается реализацией от командлета к командлету. Это преимущество invoke-command упрощает настройку, например, брандмауэров.

Надеюсь, это поможет.

Я пытаюсь запустить программу на удаленном компьютере, но не могу найти файл. Что случилось? C:tempPSTools>psexec \nb_IT10 -u godrjak -p pimpam1+ c:Program Files (x86)Notepad++notepad++.exe PsExec v2.2 — Execute processes remotely Copyright (C) 2001-2016 Mark Russinovich Sysinternals -.

Я пытаюсь обновить строку файла на удаленном компьютере. В своем скрипте я использую следующий код. Get-Content Clients.txt | ForEach-Object \ < Get-Item \
D$Runtimerun.properties \>| Replace-FileString.ps1 -Pattern ‘$PropName=.*’ -Replacement ‘$PropName=$PropValue’ -Overwrite Но я получаю.

Спасибо за всю вашу помощь! Итак, вот что я получил, чтобы выполнить то, что я пытался сделать, как вы думаете?

[/H1toH2]

D$Runtimerun.properties \>|.

У меня есть .exe с расположением C:Program файлов (x86)IntercedeMyIDDesktop Я хочу создать скрипт, чтобы открыть его на удаленном компьютере. Когда я выполняю скрипт: invoke-command -computername.

Я хочу, чтобы все компьютеры в моей Сети были в курсе определений антивируса Defender, настроив скрипт PowerShell, который будет автоматически загружать их с веб-сайта Microsoft. Затем скрипт.

Azure runbook. Вопрос: Как запустить/вызвать powershell скрипты на удаленном Azure VM с помощью runbook? Скрипт помещается на удаленный VM. Нет Azure AD, powershell имеет установленный модуль Az.

[/H1toH2]

.ProcessName -match «Workbench3.helper» >).Terminate()

Приведенная выше строка возвращает все процессы с удаленного компьютера на локальный компьютер. Чем вы настраиваете возвращенные объекты-процессы на своей машине LOCAL и вызываете Terminate() на своей машине LOCAL. Я бы посоветовал вам вместо этого использовать следующую строку:

Это должно убить процесс(ы) Workbench3. Я использовал оператор like , чтобы сделать фильтрацию менее строгой.

После этого вы можете повторно использовать сеанс, сохраненный в $pers , чтобы снова запустить процесс.

Invoke-command -session $pers -scriptblock

Я дополнительно использовал переключатель -Wait . Переключатель заставляет Start-Process ждать запуска программы (и возвращаться после этого).

При выполнении удаленных операций я всегда предлагаю выполнять эти операции через Invoke-Command , а не через параметры -ComputerName нескольких команд. Invoke-Command использует WS-MAN через HTTP(Ы), в то время как удаленная реализация команд, предлагающих параметр -ComputerName , отличается реализацией от командлета к командлету. Это преимущество invoke-command упрощает настройку, например, брандмауэров.

Надеюсь, это поможет.

Я пытаюсь запустить программу на удаленном компьютере, но не могу найти файл. Что случилось? C:tempPSTools>psexec \nb_IT10 -u godrjak -p pimpam1+ c:Program Files (x86)Notepad++notepad++.exe PsExec v2.2 — Execute processes remotely Copyright (C) 2001-2016 Mark Russinovich Sysinternals -.

Я пытаюсь обновить строку файла на удаленном компьютере. В своем скрипте я использую следующий код. Get-Content Clients.txt | ForEach-Object \ < Get-Item \
D$Runtimerun.properties \>| Replace-FileString.ps1 -Pattern ‘$PropName=.*’ -Replacement ‘$PropName=$PropValue’ -Overwrite Но я получаю.

Спасибо за всю вашу помощь! Итак, вот что я получил, чтобы выполнить то, что я пытался сделать, как вы думаете?

[/H1toH2]

Разрешить запуск скриптов PowerShell

PowerShell

По умолчанию запуск скриптов PowerShell может быть запрещён.

Пытаюсь запустить скрипт, получаю ошибку:

Не удается загрузить файл. Файл не имеет цифровой подписи. Невозможно выполнить сценарий в указанной системе.

powershell

Посмотрим текущее значение политики выполнения скриптов PowerShell:

powershell

  • Restricted – запрещен запуск скриптов PowerShell, можно выполнять только интерактивные команды.
  • AllSigned – разрешено выполнять только скрипты с цифровой подписью от доверенного издателя.
  • RemoteSigned – можно запускать локальные PowerShell скрипты без ограничения. Можно запускать удаленные PowerShell скрипты с цифровой подписью. Нельзя запускать PS1 файлы, скачанные из Интернета. В свойствах скачанного файла можно «Разблокировать» запуск скрипта.
  • Unrestricted – разрешен запуск любых PowerShell скриптов.
  • Bypass – разрешён запуск любых PowerShell скриптов. Эта политика обычно используется для автоматического запуска PS скриптов без вывода каких-либо уведомлений и не рекомендуется для постоянного использования.
  • Default – сброс настроек выполнения скриптов на стандартные.

У меня установлена политика AllSigned, поэтому неподписанный скрипт не запустился.

Для изменения текущего значения политики запуска PowerShell скриптов используется командлет Set-ExecutionPolicy.

powershell

Как видно из скриншота, политика запуска PowerShell скриптов изменилась, но. не изменилась. Такая ошибка появляется, если политики запуска PowerShell скриптов управляются групповыми политиками, например, если компьютер в домене.

В этом случае нам поможет реестр. В разделе

powershell

Ещё можно запустить скрипт с явно указанной политикой:

Можно установить не только политику запуска PowerShell скриптов, но и зону её действия с помощью параметра Scope.

Troubleshooting — Устранение неполадок

Больше детально можно почитать на сайте Microsoft:
Синтаксис Enter-PSSession

Проверка состояния на клиенте

# Получаем информацию по Listener (Слушатель)
winrm e winrm/config/listener
# Listener_641507880 это мой ID, добиваем табом.
dir WSMan:localhostListenerListener_

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector