Запускать сценарии PowerShell без установки PowerShell?

Есть ли способ связать PowerShell таким образом, что мне не нужно устанавливать его в ОС? В идеале я хотел бы использовать его в моем процессе сборки, но я хочу что-то самодостаточное; Я не хочу полагаться на каждый клиентский компьютер, устанавливающий PowerShell. Я думаю, что создаю консольное приложение, на котором размещена среда PowerShell, но локально собирает сборки PowerShell.

Предполагая, есть ли какие-либо проблемы с лицензированием или лицензированием при такой настройке?

Ответ 1

Я не уверен, сколько времени мне нужно будет увидеть, если библиотеки могут быть несколько независимо скопированы. Вы ожидаете, что .NET Framework 2.0 будет находиться на машине?

Здесь есть информация: http://karlprosser.com/coder/2008/06/19/portable-powershell-part-2-roll-your-own-plus-a-challenge/

Но это официально не поддерживается Microsoft. Предполагается, что Microsoft будет устанавливать PowerShell с помощью msi/msu или добавить эту функцию.

Ответ 2

Вы можете запустить среду выполнения powershell внутри приложения .net, используя DLL System.Management.Automation, но я считаю, что для ее запуска вам все же необходимо иметь доступ к среде выполнения powershell на машине. Если не существует способа содержать всю среду выполнения внутри приложения, которые, как мне кажется, не являются возможными, вам потребуется установить powershell на каждую машину. Если это будет утешение, то в минуту окна 7 поставляется с установленной PowerShell по умолчанию.