2010년 1월 11일 월요일

PowerShell2.0 원격 관리하기-6

Active Directory Domain Service가 설치된 환경에서 클라이언트 컴퓨터를 원격에서 PowerShell로 관리하기 위해서는 다음과 같은 작업을 GPO에서 설정하여 적용하면 된다.
<GPO설정 내용>
1) .ps1 파워셀 스크립트를 실행하도록 환경 설정
즉, Set-ExecutionPolicy RemoteSigned가 되도록 하는 것이다
2) Enable-PSRemoting -Force cmdlet이 실행되도록 설정
즉, GPO를 통하여 .ps1 스크립트가 컴퓨터가 시작할 때 자동으로 실행하도록 구성하는 것이다.
.PS1 스크립트 내용은 Enable-PSRemoting -Force 이다
<Group Policy 작업하기>
1) 먼저 Notepad.exe를 실행하여 Enable-PSRemoting.ps1 파일을 다음과 같이 작성하여 저장한다

2) GPO 설정하기
- 내용은 도메인의 클라이언트 컴퓨터들은 .ps1 파일을 로컬에서 실행할 수 있도록 설정한다(즉, Set-ExecutionPolicy RemoteSigned 명령을 적용하도록 하는 것이다.)
- 위에서 생성한 .ps1 파일을 링크를 건다

3) 생성한 GPO를 클라이언트 컴퓨터가 위치한 OU(나는 Test OU에 했다)에 링크를 건다

4) 도메인 클라이언트를 켠다(Startup)
그러면 컴퓨터 구성에 만든 GPO가 적용될 것이다.  .ps1 파워쉘 스크립트를 컴퓨터를 켤 때 자동으로 실행하는 것이다 
5) 클라이언트 컴퓨터에서 로그온 한 후 GPO가 제대로 적용되었는지 확인해본다.

GPO가 제대로 적용되었으므로 .ps1 파일을 실행하여 Enable-PSRemoting -Force 명령이 실행되었다는 뜻이다
6) HTTP (5985 포트)가 열려 있는지 확인한다

7) WinRM 서비스가 실행중이어서 WinRM 요청에 응답할 수 있는지 확인한다

WinRM 서비스가 실행되어야만 netstat -ano에서 5985 포트 번호가 Listening 상태가 된다.
8) WinRM 서비스가 실행중이라고 해서 원격에서 PowerShell로 접속할 수 있는 것은 아니다. 원격 컴퓨터에서 접속을 허용하기 위해서는 HTTP Listener가 동작해야 한다. 이것이 제대로 동작하는지 확인한다

** 개별 컴퓨터에서 WinRM QuickConfig 명령을 실행하면 위의 내용이 구성된다.


여기서는 도메인 환경으로서 각각 구성하기 보다는 중앙에서 한꺼번에 여러 대를 동시에 구성하고 있는 것이다.
사실 위의 작업 내용은 모두 Enable-PSRemoting -force 명령 안에 포함되어 있는 것이다.
9) 이제 원격 컴퓨터에서 PowerShell을 통하여 관리할 수 있는지 확인한다

R2-A 컴퓨터에서 Barnaba0-PC에 접속을 성공했다.
이제는 접속은 하지 않고 단지 명령만 날려 원하는 결과(Get-Host)를 가져왔다.
제대로 작업이 되었다.
도메인 환경에서는 GPO를 생성하여 Computer Configuration에 링크를 걸면 쉽게 해결된다. 이것의 핵심은 Enable-PSRemoting -Force 명령이다.
도메인 환경이 아닌 경우에는 각각 구성해주고 계정도 통일해야하는 번거로움이 있다.
참고: : http://msdn.microsoft.com/en-us/library/aa384372(VS.85).aspx
참고2:http://powershellcommunity.org/Forums/tabid/54/aff/1/aft/4152/afv/topic/afpgj/1/Default.aspx

출처 : http://bloglee.egloos.com/5109774

Tistory 태그:

댓글 없음:

댓글 쓰기