-1

Я пытаюсь запустить сеанс PowerShell через PSexec с альтернативными цветами и некоторыми атрибутами окна. Причина, по которой мне нужно было запускать PowerShell через PSExec, заключается в том, что у меня может быть готовый ярлык в один клик для запуска окна терминала в контексте локальной системы. Это имеет смысл для ежедневного тестирования скриптов и кода в пакетах MDT/SCCM. Это звучит бессмысленно, но у меня открыто много командных окон, поэтому мне сложно определить, какие окна терминала работают как системные, пользовательские, локальные администраторы и т.д. Цвета позволили бы сразу увидеть эту разницу ,

Пока что я пытаюсь это сделать, но исследователь запускается при запуске:

C:\SysinternalsSuite\psexec.exe /i /s "PowerShell.exe -NoExit -Command "& $HOST.UI.RawUI.ForeGroundColor = cyan"

Я могу нормально запустить PowerShell, вот так:

C:\SysinternalsSuite\psexec.exe /i /s powershell.exe

Я уверен, что это как-то связано с тем, как анализируются кавычки.

2 ответа2

1

Две вещи:

  1. Вы можете использовать профили Powershell для настройки оболочки
  2. Вы можете просто изменить свойства оболочки (цвет, размер шрифта, буфер) - они сохраняются в конце концов

Оба работают без использования внешних инструментов, таких как psexec.

Ваш подход слишком сложен. Просто создайте ярлык для Powershell, затем откройте свойства ссылки и установите значение "Начать в" для каталога, с которым вы хотите запустить Powershell, и настройте цвета оболочки на вкладке "Цвета". То же самое работает с cmd.exe.

1

Я понял. Вот что я сделал:

1) Создал 2 bat-файла в папке с именем C:\Launchers - один для запуска CMD в качестве системы и один для PS

2) Скачал последнюю версию SysinternalsSuite и поместил папку в C:\

3) Прикрепил ярлык к моей панели задач, а затем сделал следующее: A) установил поле ярлыка «Target:» в: C:\Windows\System32\cmd.exe /C «C:\Launchers\Launch_PS_As_Sys.bat» B) установите в поле «Start In:» значение «C:\Launchers». В) нажали "Дополнительно" и отметили "Запуск от имени администратора"

Файл bat содержит следующую строку для запуска PowerShell System:

C:\SysinternalsSuite\psexec.exe /dis powershell.exe -NoExit -Command "& {cd C:\Users\<yourusername>\Desktop; $HOST.UI.RawUI.ForeGroundColor='Cyan'}"

И эта строка для CMD Prompt:

C:\SysinternalsSuite\psexec.exe /dis cmd.exe /k "cd C:\Users\<yourusername>\Desktop & Color 0A"

Оказывается, что способ, которым кавычки .bat и / или PSExec разбираются, каким-то образом конфликтует друг с другом, так что вы должны использовать одинарные кавычки вместо двойных кавычек. Вероятно, моя ошибка. В любом случае, я надеюсь, что кто-то найдет это полезным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .