Домашняя » как » Работает ли PowerShell в других операционных системах, кроме Windows?

    Работает ли PowerShell в других операционных системах, кроме Windows?

    Это может быть очень неприятно, когда ваш профессор говорит что-то о PowerShell, а различные веб-сайты, как представляется, дают убедительные доказательства обратного. Действительно ли PowerShell работает в системах, отличных от Windows, или нет? Сегодняшний пост SuperUser Q & A содержит ответ на вопрос озадаченного читателя..

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Вопрос

    Читатель SuperUser FredSavage187 хочет знать, работает ли PowerShell в других операционных системах, кроме Windows:

    Мой преподаватель компьютерных наук недавно дал нам тест, и один из вопросов был: «Верно или нет: PowerShell работает на Windows, Mac и Linux». Правильный ответ был «ложный», и он утверждает, что PowerShell - это единственная вещь для Windows. Но я нашел пару сайтов, которые говорят иначе:

    PowerShell является открытым исходным кодом и доступен в Linux [Microsoft Azure Blog]

    Репозиторий PowerShell [GitHub]

    Какой из них на самом деле правильный? Работает ли PowerShell в Linux и Mac OS, а также в Windows?

    Работает ли PowerShell в других операционных системах, кроме Windows??

    Ответ

    У автора SuperUser Бена N есть ответ для нас:

    Да. Большая часть PowerShell - это .NET, поэтому он может работать в любой операционной системе, имеющей Common Language Runtime (CLR). В Windows это .NET Framework. Для других операционных систем, включая Linux, вы можете использовать CoreCLR, кроссплатформенное подмножество с открытым исходным кодом .NET Framework.

    Как вы узнали из репозитория PowerShell на GitHub, поддерживается довольно много операционных систем и дистрибутивов. Например, вот инструкция для Ubuntu и демонстрация:

    Можно утверждать, что не все PowerShell доступны в средах, отличных от Windows, поскольку некоторые функции зависят от библиотек, имеющихся только в Windows. ParsedHtml собственность на HtmlWebResponseObject тип, возвращаемый Invoke-WebRequest, например, полезно только в Windows, поскольку содержит COM-объект из неуправляемой библиотеки, mshtml.dll быть конкретным. На других платформах там ничего нет. И, конечно, есть командлеты для управления системами, которые есть только в Windows, например, современные приложения (Get-AppxPackage, например).

    Тем не менее, инфраструктура PowerShell отлично работает в других операционных системах, множество командлетов можно использовать где угодно, а поддержка только улучшается.


    Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.

    Авторы изображений: Джефф Хикс (Petri IT Knowledgebase)