복사 방지 스크립트

2012년 7월 13일 금요일

[Active Directory] PowerShell 연계하여 원격 관리하기

※ 아래 내용은 이용식 강사님의 블로그(http://powershell.kr/)내용을 담아 온 것입니다

Active Directory Domain Service가 설치된 환경에서 클라이언트 컴퓨터를 원격에서 PowerShell로 관리하기 위해서는 다음과 같은 작업을 GPO에서 설정하여 적용하면 된다.


<GPO설정 내용>

  • .ps1 파워셀 스크립트를 실행하도록 환경 설정
    즉, Set-ExecutionPolicy RemoteSigned가 되도록 하는 것이다
  • Enable-PSRemoting -Force cmdlet이 실행되도록 설정
    즉, GPO를 통하여 .ps1 스크립트가 컴퓨터가 시작할 때 자동으로 실행하도록 구성하는 것이다. .PS1 스크립트 내용은 Enable-PSRemoting -Force 이다

    <Group Policy 작업하기>

  • 먼저 Notepad.exe를 실행하여 Enable-PSRemoting.ps1 파일을 다음과 같이 작성하여 저장한다

  • GPO 설정하기
    - 내용은 도메인의 클라이언트 컴퓨터들은 .ps1 파일을 로컬에서 실행할 수 있도록 설정한다(즉, Set-ExecutionPolicy RemoteSigned 명령을 적용하도록 하는 것이다.)
    - 위에서 생성한 .ps1 파일을 링크를 건다
  • 생성한 GPO를 클라이언트 컴퓨터가 위치한 OU(나는 Test OU에 했다)에 링크를 건다
  • 도메인 클라이언트를 켠다(Startup)
    그러면 컴퓨터 구성에 만든 GPO가 적용될 것이다. .ps1 파워쉘 스크립트를 컴퓨터를 켤 때 자동으로 실행하는 것이다
  • 클라이언트 컴퓨터에서 로그온 한 후 GPO가 제대로 적용되었는지 확인해본다.
    GPO가 제대로 적용되었으므로 .ps1 파일을 실행하여 Enable-PSRemoting -Force 명령이 실행되었다는 뜻이다
  • HTTP (5985 포트)가 열려 있는지 확인한다
  • WinRM 서비스가 실행중이어서 WinRM 요청에 응답할 수 있는지 확인한다
    WinRM 서비스가 실행되어야만 netstat -ano에서 5985 포트 번호가 Listening 상태가 된다.
  • WinRM 서비스가 실행중이라고 해서 원격에서 PowerShell로 접속할 수 있는 것은 아니다. 원격 컴퓨터에서 접속을 허용하기 위해서는 HTTP Listener가 동작해야 한다. 이것이 제대로 동작하는지 확인한다
    ** 개별 컴퓨터에서 WinRM QuickConfig 명령을 실행하면 위의 내용이 구성된다.

    여기서는 도메인 환경으로서 각각 구성하기 보다는 중앙에서 한꺼번에 여러 대를 동시에 구성하고 있는 것이다.
    사실 위의 작업 내용은 모두 Enable-PSRemoting -force 명령 안에 포함되어 있는 것이다.
  • 이제 원격 컴퓨터에서 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
  • 댓글 없음:

    댓글 쓰기