Запустить автономную оболочку Windows Powershell

Мое приложение зависит от версии PowerShell 5. Но в некоторых старых системах Windows не установлена ​​та же версия, в которой выполняется наше приложение. Итак, есть ли способ запустить автономную оболочку PowerShell, которую я поместил в папку своего приложения. Так что мое приложение не зависит от системной PowerShell.

Короче - нет. У вас не может быть «портативной» оболочки PowerShell.

Kirill Pashkov 13.09.2018 13:50

Вы пробовали использовать Ядро PowerShell? Он действительно «переносимый», но это не Windows PowerShell версии 5.

Clijsters 13.09.2018 13:57
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
2
5 358
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Нет. У вас не может быть портативный версии Windows PowerShell для вашего приложения.

Вы также не сможете установить более новую версию в более старой операционной системе; например, вы не можете установить PowerShell версии 5 в Windows XP.

Версии Windows Powershell зависят от многих вещей, таких как OS Version, Microsoft .NET Framework, Windows Management Framework, WS-Management, Windows Management Instrumentation, Common Language Runtime, Graphical User Interface Requirements.

Вот ссылка с информацией о версиях Windows PowerShell и их требованиях.

Я бы сказал, что будет лучше, если вы создадите свое приложение так, чтобы оно было совместимо с самой старой из возможных версий PowerShell, с которой оно будет работать. Это может быть сложно и сложно, но это единственный способ обеспечить надлежащую обратную совместимость.

Ваш ответ не является неправильным, но, похоже, ваш ответ не учитывает PowerShell Core.

Clijsters 13.09.2018 15:31
Ответ принят как подходящий

Заявление об ограничении ответственности: Мы не знаем ваше приложение и не знаем, почему именно оно зависит от PowerShell. Далее мы не знаем, зависит ли это от Windows PowerShell или от PowerShell в целом. Мы также не знаем, требует ли он конкретно версии 5 или будет работать и в более новых версиях.


Чтобы ответить на суть вашего вопроса:

So is there any way to run standalone PowerShell which I put in my application folder.

Да, есть!

Microsoft представила Ядро PowerShell, который начинался как форк и представляет собой кроссплатформенную версию, работающую в Windows, macOS и основных дистрибутивах Linux. Вы можете скачать бинарные архивы PowerShell из GitHub, распаковать их и просто запустить pwsh.exe.

Пожалуйста, будьте осторожны:

Хотя он предоставляет огромное количество хорошо известных командлетов PowerShell и некоторые (большую часть) поведения Windows PowerShell, важно понимать разницу между PowerShell Core и Windows PowerShell. Обратитесь к README репозитория для получения дополнительных ресурсов.

Обратите внимание, что они могут использовать не PowerShell как оболочку, а PowerShell как технологию автоматизации, размещенную в приложении, и в этом случае pwsh.exe не имеет значения.

Joey 13.09.2018 14:51

Спасибо за примечание. Я просто «предположил», что приложение состоит из каких-то файлов ps1. ОП особо не сказал об этом.

Clijsters 13.09.2018 15:05

Спасибо, @Clijsters работает. Но команда Get-Counter не работает. Итак, любые решения для запуска этой команды в ядре Powershell.

Subhash 14.09.2018 09:04

Другие вопросы по теме