Как автоматизировать PowerShell или PowerShell Core для той же машины - PullRequest
1 голос
/ 03 октября 2019

С выпуском PowerShell Core, как приложение может выбирать, какая версия Powershell (Powershell 5.x или PowerShell Core) вызывается при использовании библиотеки автоматизации хостинга (system.management.automation)? Что-то о пространстве для запуска, которое должно быть создано? или, может быть, информация о соединении?

1 Ответ

1 голос
/ 03 октября 2019

Вот обзор пакетов NuGet, связанных с PowerShell SDK : Адаптировано с здесь .

  • Microsoft.PowerShell.5.ReferenceAssemblies - для создания приложений Windows PowerShell на основе .NET Framework (только для Windows).

  • Microsoft.PowerShell.SDK - для создания приложений PowerShell Core , основанных на .NET Core (кроссплатформенный).

  • PowerShellStandard.Library - для сборки модулей и хостов , совместимых с и Windows PowerShell и PowerShell Core (кроссплатформенный)- но note :

    • "PowerShell Standard - это эталонная сборка , созданная для помощи разработчикам в создание модулей и хостов PowerShell, которые будут работать на PowerShell . Эталонная сборка не содержит фактической реализации , но скорее позволит вам использовать только APIкоторые существуют в разных версиях PowerShell. Это означает, что вам все еще нужно запускать в среде выполнения PowerShell."

    • Для создания автономных приложений используйте одно из первыхдва пакета.

  • System.Management.Automation - не рекомендуется для прямого использования.


Что касается нацеливания на конкретное издание / версию через remoting :

  • См. этот вопрос и ответ

  • Обратите внимание, что оно охватывает удаленное взаимодействие с точки зрения использования командлетов PowerShell , а не SDK, хотя командлеты всегда можно также вызывать через SDK.


Как Lee Daily указывает в комментарии, специфичные для издания исполняемые имена файлов :

  • powershell.exe - Windows PowerShell

  • pwsh.exe (Windows) / pwsh (Unix-подобные платформы) - PowerShell Core

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...