Windows Server 2012 서버를 관리합니다. 커맨드 라인을 통해 이러한 서버를 관리하는 PowerShell을 배우고 있습니다. 내 워크 스테이션은 Ubuntu를 실행하며 일반적으로 SSH를 통해 연결하여 Linux 서버를 관리합니다.
Linux의 SSH 액세스와 같은 명령 줄을 통해 Linux 워크 스테이션의 Windows Server에서 Windows PowerShell을 사용할 수있는 방법이 있습니까?
Windows Server 2012 서버를 관리합니다. 커맨드 라인을 통해 이러한 서버를 관리하는 PowerShell을 배우고 있습니다. 내 워크 스테이션은 Ubuntu를 실행하며 일반적으로 SSH를 통해 연결하여 Linux 서버를 관리합니다.
Linux의 SSH 액세스와 같은 명령 줄을 통해 Linux 워크 스테이션의 Windows Server에서 Windows PowerShell을 사용할 수있는 방법이 있습니까?
답변:
일부 옵션 :
http://technet.microsoft.com/en-us/library/hh831611.aspx
Linux 용 POSH 실행 파일에 대해 잘 모르므로 Linux의 쉘에서 직접 POSH 명령을 실행할 수 없습니다. 먼저 RDP, 원격 콘솔 (DRAC, iLO), SSH, 또는 POSH 웹 액세스.
/ Edit- 옵션이있는 것 같습니다. http://sharpcodenotes.blogspot.com/2014/01/running-powershell-commands-from-linux.html
OpenWSMan이 원하는 것을 수행하도록 시도 할 수는 있지만 올바른 Powershell 명령을 발행하기보다는 URL 요청과 같은 모든 명령을 작성해야한다고 생각합니다. 실제로 Linux 용 Powershell은 없습니다. 모든 Windows 시스템에 WinRB ruby gem을 설치 한 다음 Linux 상자에서 Ruby 코드를 실행하여 Powershell 명령을 호출 할 수 있습니다.
두 경우 모두 탭 완성, 도움말 등과 같은 대화식 Powershell 환경을 얻는 것처럼 보이지 않습니다. 이들은 스크립트 또는 단일 명령을 실행하는 것으로 보이며, 오류 또는 기타 피드백을 캡처해야 할 것입니다 스스로. Linux에서 일류 솔루션을 얻지 못할 것입니다.
/ 편집 다시-예, MSDN는 이것이 추악하고 성가신 경향이 있다고 말합니다 . 그가 제공하는 간단하고 효과적인 솔루션조차도 재미없는 것처럼 보입니다.
Powershell 원격 기능은 WS-Management를 기반으로 구축되었지만 실제로는 프로토콜 내 프로토콜이며 PSRP (Powershell Remoting Protocol)와 직접 상호 작용하려면 본질적으로 클라이언트에서 Powershell 복제가 필요합니다.
Once you have a shell on a Windows box you can use Powershell Remoting.
-이 경우 2 홉 인증 문제가 거의 확실하게 발생합니다. 거의 확실하게 CredSSP 인증을 사용해야합니다.
Microsoft는 공식적으로 Linux 및 OSX에서 Powershell을 발표합니다. 2016 년 8 월 발표 참조 : PowerShell은 오픈 소스이며 Linux에서 사용할 수 있습니다
현재 알파 상태입니다. Ubuntu와 Centos는 공식적으로 지원됩니다. 모험적인 경우 설치 지침은 https://github.com/PowerShell/PowerShell/blob/master/docs/installation/linux.md에서 확인할 수 있습니다.
예, 두 가지 옵션이 있습니다.
Windows 및 구성 설정에서 PowerShell에 대한 SSHd 서버를 설치할 수 있습니다.
이를 위해 SSHd 설치 및 PowerShell 경로 구성에 대한 학습서를 사용할 수 있습니다 .
한마디로 :
PowerShell 웹 액세스 (Win Server 2012 R2 만 해당)
Technet에 대한 하나의 자습서 ( blogs.technet.com/b/canitpro/archive/2013/11/14/step-by-step-deploy-powershell-web-access.aspx)가 있습니다.
우분투 14.04 LTS에서 테스트
winexe를 다운로드하여 설치하십시오.
wget https://passing-the-hash.googlecode.com/files/winexePTH1.1.0-1.deb
dpkg -i winexePTH1.1.0-1.deb
기본 사용법
winexe -U DOMAIN/USERNAME%PASSWORD //MACHINEIP "cmd.exe"
예로서:
echo -ne '\n' | winexe -U DOMAIN/USERNAME%PASSWORD //IP 'powershell.exe -command "Get-Process | Select-Object Name, ProcessName"' | sort -u
https://github.com/PowerShell/Win32-OpenSSH에서 직접 또는 Chocolatey https://chocolatey.org를 통해 또는 Boxstarter (초콜렛 아래에서 Chocolatey를 사용함) https : //를 통해 더 빨리 win32-openSSH를 설치할 수도 있습니다 . boxstarter.org (빠른 설치 https://boxstarter.org/packages/nr/win32-openssh ).
약간의 설정이 필요하지만 PowerShell을 수행하는 Microsoft 직원이 유지 관리하는 기본 (예, 실제!) win32 포트입니다.
그렇지 않으면 누군가 언급했듯이 Linux에 WinRM gem을 설치하고 WinRM 프로토콜을 통해 약간의 연결을 얻을 수 있지만 PSSession을 시작하는 것만 큼 좋지는 않습니다.
또한 WinRM gem (WinRb)의 배후에있는 사람들은 WinRM을 통해 PowerShell을 터널링하여 업로드에 더 많은 기능을 제공하고 다른 작업에도 더 빠른 기본 PowerShell 상호 작용을 구현하려고합니다. 이 블로그 게시물을 참조하십시오 http://www.hurryupandwait.io/blog/a-look-under-the-hood-at-powershell-remoting-through-a-ruby-cross-plaform-len