Как запустить Windows PowerShell

Запуск файла .exe на удаленном компьютере с помощью powershell

Привет всем, я пытаюсь запустить файл exe на удаленных системах, у нас есть агент, который работает для подключения нашего веб — сайта к нашей базе данных и принтерам. Он иногда зависает и требует от нас удаленного входа и/или перехода на станцию и перезапуска приложения. Я пробовал здесь много разных решений, и ни одно из них, похоже, не работает.

Я могу убить запущенный процесс, но тогда он не будет снова открывать файл exe, чтобы запустить его снова. Вот небольшой сценарий до сих пор

#Starts Process# в конце концов запускается без ошибок, но на удаленной машине ничего не происходит, убивая процесс, работающий нормально. Любая помощь будет очень признательна.

Запуск Windows PowerShell с помощью поиска

Моя первая рекомендация на тему запуска любой утилиты Windows, которую вы не знаете, как запустить — использовать поиск, он поможет почти всегда.

Кнопка поиска есть на панели задач Windows 10, в Windows 8 и 8.1 поле поиска можно открыть клавишами Win+S, а в Windows 7 найти в меню «Пуск». Шаги (на примере 10-ки) будут следующими.

Как видите, очень просто и подходит для любой из последних версий Windows.

Как запустить скрипт PowerShell в фоновом режиме?

Для этого достаточно использовать параметр запуска -WindowStyle, который может принимать значения: Normal, Minimized, Maximized и Hidden. Таким образом, чтобы запустить неподписанный скрипт в фоновом режиме, нужно выполнить команду:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file

Так же можно еще при желании добавить -NonInteractive, чтобы скрипт не задавал никаких вопросов. Таким образом, скрипт выполнится незаметно для пользователя. Будmте внимательны, используя такой способ.

2 ответа 2

WinRM уже настроен для получения запросов на этом компьютере.

WinRM уже настроен для удаленного управления на этом компьютере.

удалите этот winrm quickconfig из вашего скрипта. он хочет настроить службу WinRM, но он уже настроен, поэтому в этом нет необходимости. WinRM позволяет вам получить доступ к удаленному компьютеру через его службу, например, для invoke-command <> .

Copy-item: Не удается найти путь «C:OfficeDocumentfix.reg», так как он не существует.

Причина этого в том, что ваша переменная $newfile использует $servers вместо $server как и должно (потому что она находится внутри блока foreach() ), поэтому $servers равен $null . это причина ошибки.

если файл реестра, который вы используете, записывает в HKCU:, вам не нужно повышать уровень скрипта, если он записывает в HKLM: вам нужно. Только администраторы могут писать в HKLM. Высота это целая часть от начала до winrm quickconfig .

это должно дать вам следующий конечный продукт (я оставил высоту там):

пожалуйста, взгляните также на эту строку:

это еще не динамично. он всегда будет читать в test.reg вместо желаемого reg-файла.

вместо start-process вы также можете просто использовать regedit /s $regfile /f PowerShell может выполнять пакетные команды (но это подробно. Если это работает так, оставьте все как есть).

PsService

PsService позволяет мониторить и управлять службами на удаленной или локальной машине из командной строки Windows. Синтаксис утилиты выглядит следующим образом:

psservice.exe [\computer [-u username] [-p password]]

computer — имя или IP-адрес компьютера. Если параметр не указан, команда запустится на локальном компьютере;

-u — имя пользователя. Если не указано, то будет выполнено из-под текущего пользователя;

-p — пароль. Если не указан, то будет запрошен при выполнении;

command — соответствующая команда, которую мы посылаем службе;

options — параметры команды.

Если не указывать команду, то PsService выдаст список всех служб на компьютере, как запущенных, так и остановленных. Ниже список доступных команд.

query — выводит текущее состояние службы;

config — выводит конфигурацию службы;

setconfig — задает способ запуска службы, доступны следующие параметры: auto — автозапуск, demand — вручную, disabled — отключено;

start — запуск службы;

stop — остановка службы;

restart — перезапуск службы;

pause — приостановка работы службы;

cont — возобновление работы приостановленной службы;

depend — выводит список служб, зависящих от указанной;

security — выводит дескриптор безопасности службы;

find — поиск указанной службы в локальной сети.

покажет нам состояние службы UltraVNC.

PsTools - расширяем возможности командной строки Windows

Просмотр состояния службы в PsService

Что такое Windows PowerShell ISE

Windows PowerShell ISE (интегрированная среда сценариев) – это приложение, появившееся в PowerShell 2.0. Она позволяет запускать команды и писать, тестировать и отлаживать сценарии в едином графическом интерфейсе пользователя на базе Windows.

Этот ISE включает командную панель, одну для сценариев и одну для вывода. Панель вывода отображает результаты команд, запущенных в двух других панелях. Кроме того, графическое окружение можно изменить, выбрав расположение блоков.

PowerShell ISE поддерживает многострочное редактирование, окрашивание синтаксиса, завершение с помощью клавиши TAB и выборочное выполнение и использует собственный профиль, отличный от того, который используется для настройки PowerShell.

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

Adblock
detector