Я управляю серверами Windows Server 2012. Я изучаю PowerShell для управления этими серверами через командную строку. Моя рабочая станция работает под управлением Ubuntu, и я обычно управляю серверами Linux, подключаясь через SSH.
Есть ли способ использовать Windows PowerShell на серверах Windows с моей рабочей станции Linux через командную строку, например SSH-доступ в Linux?
Ответы:
Некоторые варианты:
http://technet.microsoft.com/en-us/library/hh831611.aspx
Я не знаю ни одного исполняемого файла POSH для Linux, поэтому вы не можете запускать команды POSH непосредственно из оболочки в Linux - сначала вы должны каким-то образом попасть на компьютер с Windows, например, RDP, удаленная консоль (DRAC, iLO), SSH, или POSH Web Access.
/ Edit - похоже, есть несколько вариантов. http://sharpcodenotes.blogspot.com/2014/01/running-powershell-commands-from-linux.html
Вы можете попытаться заставить OpenWSMan делать то, что вы хотите, но я думаю, что вам придется создавать каждую команду, например, URL-запрос, а не просто вводить правильную команду Powershell - как я уже сказал, на самом деле Powershell для Linux не существует. Вы можете установить WinRB ruby gem на каждом компьютере с Windows, а затем запустить Ruby-код на вашем Linux-компьютере для вызова команд Powershell.
Ни в том, ни в другом случае не кажется, что вы получите интерактивный опыт Powershell, такой как завершение табуляции, справка и т. Д. Они, похоже, предназначены для запуска сценария или отдельной команды, и вам, вероятно, придется фиксировать любые ошибки или другие отзывы. самостоятельно. Вы не получите первоклассное решение для Linux.
/ Изменить еще раз - да, MSDN говорит, что это будет иметь тенденцию быть уродливым / неуклюжим. Даже простое / эффективное решение, которое он дает, выглядит неинтересно.
источник
Once you have a shell on a Windows box you can use Powershell Remoting.
- Имейте в виду, что вы почти наверняка столкнетесь с проблемой аутентификации с 2 скачками с этим. Вы почти наверняка должны будете использовать аутентификацию CredSSP.Microsoft официально выпускает Powershell для Linux и OSX. См. Объявление за август 2016 года: PowerShell является открытым исходным кодом и доступен в Linux
Это в настоящее время в альфа. Ubuntu и Centos официально поддерживаются, больше в пути. Если вы любите приключения, инструкции по установке доступны здесь: https://github.com/PowerShell/PowerShell/blob/master/docs/installation/linux.md
источник
Да, у вас есть 2 варианта:
Вы можете установить SSHd-сервер в Windows и в конфигурации настроить путь к PowerShell.
Для этого вы можете использовать учебник по установке SSHd и настройке пути PowerShell.
Короче:
PowerShell Web Access (только Win Server 2012 R2)
Там у вас есть один учебник по Technet - blogs.technet.com/b/canitpro/archive/2013/11/14/step-by-step-deploy-powershell-web-access.aspx
источник
Протестировано в Ubuntu 14.04 LTS
Скачайте и установите winexe:
Основное использование
В качестве примера:
источник
Вы также можете установить win32-openSSH вручную с https://github.com/PowerShell/Win32-OpenSSH или через Chocolatey https://chocolatey.org или даже быстрее через Boxstarter (который использует Chocolatey под капотом) https: // boxstarter.org (быстрая установка https://boxstarter.org/packages/nr/win32-openssh ).
Требуется небольшая настройка, но это собственный (да, настоящий!) Порт win32, поддерживаемый парнями из Microsoft, работающими в PowerShell.
В противном случае, как кто-то упомянул, вы можете установить гем WinRM в Linux и получить немного возможностей подключения по протоколу WinRM, но это не так приятно, как просто запустить сеанс PSSession.
Кроме того, люди, стоящие за гемом WinRM (WinRb), также стремятся реализовать более естественное взаимодействие PowerShell, которое туннелирует PowerShell поверх WinRM, что будет более функциональным для загрузки и более быстрым для других операций. Смотрите это сообщение в блоге, http://www.hurryupandwait.io/blog/a-look-under-the-hood-at-powershell-remoting-through-a-ruby-cross-plaform-len
источник