WS-Management 기술이 점점 많이 사용되어져 가고 있습니다.

WS-Management란 웹 서비스에 근간한 SOAP기반의 프로토콜입니다. WS-Management를 이용하여 서버, 장비, 응용 프로그램등에 대한 관리를 편리하게 하실 수 있습니다. 이 기술은 2005년 Microsoft, Intel, Dell, AMD, Sun Microsystems등에서 기획한 표준 방식입니다. Microsoft에서는 해당 기술을 Windows Remote Management라고 부르고 있습니다.

Windows Server 2003 R2에서 새롭게 추가된 기능중 Hardware Management라는 기능이 있습니다. 해당 기능이 바로 WS-Management 기능을 사용할 수 있게 해줍니다. 당연히 Windows Vista, Windows Server CodeName "LongHorn"에도 기본적으로 포함이 됩니다. Windows Server 2003, Windows 2000, WIndows XP, Windows NT는 지원하지 않습니다.

WS-Management and Windows

Management of Hardware Resources

Extensible Hardware Management Using WS-Management and IPMI [WinHEC 2005; 94 KB]

Using Web Services for Managing Heterogeneous Datacenters [WinHEC 2005; 2.6 MB]

Hardware Management in Microsoft Windows Server 2003 R2 RC0

Learn more about the Windows implementation of Web Services for Management

해당 기술은 이미 System Center Virtual Machine Manager에서 사용될 예정으로 구현중이며, SCVMM의 Beta 1 버전을 설치하시기 위해서는 관리 서버와 관리를 할 서버에 양단 설치를 사전에 해주어야 합니다.

WS-Management는 서버와 클라이언트 모듈로 나눠져 있습니다. 서버의 경우에는 웹으로 수신되는 관리 요청에 대해 처리하는 WinRM과 클라이언트에서 요청을 처리하는 WinRS로 구성되어져 있습니다.

Windows Server 2003 R2를 사용하실 경우에 대한 사용법 및 설명은 여기를 클릭하시기 바랍니다.

Windows Vista 또는 Windows Server CodeName LongHorn을 이용하시면 조금은 쉽게 설정을 하실 수 있습니다. 바로

Winrm quickconfig

을 이용합니다.

WinRM은 HTTP or HTTPS를 사용합니다. 당연히 여러 IP를 서버가 가지고 있는 경우에는 특정한 IP 또는 모든 IP(*)를 사용하실 수 있으며, Windows 방화벽에 대한 설정도 알아서 진행해줍니다. 서버에 대한 설정이 다된 경우 클라이언트를 통해 접근하실 수 있습니다. 이 경우에 바로 WinRS를 사용합니다.

주의하실 사항은 기본적으로 액티브 디렉터리가 있는 환경에서 구현되게 됩니다. 이에 SSO 환경이 되지 않는 경우에는 서버와 클라이언트의 설정을 변경해줘야 합니다.

Negotiate가 가능한 머신을 설정해주고 Basic 인증을 사용한다면 설정도 진행합니다.
그런 후...

도메인 환경이라면 -u(사용자), -p(암호)를 사용할 필요가 없습니다만. 워크 그룹에서도 동작한다는 것을 보여드리기 위해, 캡쳐를 받아보았습니다.

Winrs -r:<서버이름> "명령어" - 도메인 환경

Winrs -r:<서버이름> -u:<계정> -p:<암호> "명령어" - 작업 그룹 환경

WS-Management를 이용하시게 되면, 명령어 프롬프트에서 가능한 거의 모든 액션을 다 원격에서 처리하실 수 있게 됩니다. 이미 Windows Server CodeName LongHorn이 나오면... (4)에서 소개해드렸던 IIS 7의 명령어 관리 도구인 Appcmd.exe도 원격에서 명령을 내릴 수 있게 되죠 :)

이러한 Windows Remote Management 기술은 단순한 명령어 처리 뿐만 아니라, WMI와의 연동이 가능합니다. WinRM 스크립팅 API를 사용하여 WMI 데이터를 스크립트 또는 응용 프로그램에서 사용할 수 있다는 것입니다. 당연히 포트는 80 or 443입니다.

RemoteComputer = "servername.domain.com"
strDialect = "http://schemas.microsoft.com/wbem/wsman/1/WQL"
strResource = "http://schemas.microsoft.com/wbem/wsman/1/" & _ "wmi/root/cimv2/*"
Set objWsman = CreateObject("Wsman.Automation")
Set objSession = objWsman.CreateSession("http://" & RemoteComputer)
strFilter = "SELECT * FROM Win32_Share WHERE Name='Admin$'"
Set objResultSet = objSession.Enumerate(strResource, strFilter, _ strDialect)

Windows PowerShell, Windows Remote Management, 명령어 프롬프트, 각종 스크립트등 IT 관리자는 환경의 중앙 관리에 여러 솔루션중 하나를 선택하여 사용할 수 있는 시대가 이미 펼쳐져 있습니다. IT 관리자분들께서 이제 사용하시는 일만 남으셨죠...

Posted: Thursday, April 12, 2007 4:41 PM by 백승주(Seung Joo Baek)

+ Recent posts