서버 관리자가 모든 AD 구성원 컴퓨터들로 하여금 Gpupdate.exe를 실행하도록 하자


  • 중앙에서 Group Policy를 변경하고 모든 클라이언트가 5분내로 모두 적용시키고자 한다. 이럴 때 회사 모든 직원들에게 알려주어서 수동으로 컴퓨터를 재시작하거나 gpupdate /force를 하라고 부탁하는 것을 현실적으로 무리가 된다.
  • 그래서 중앙에서 Powershell cmdlet를 사용하여 서버 관리자가 모든 AD 구성원 컴퓨터들에게 gpupdate /force를 내릴 수 있다
  • 서버 관리자는 자신의 컴퓨터에서 powershell console을 열어서 AD에 있는 구성원 컴퓨터의 목록을 이용하여 Windows Remote Management 기술을 이용하여(포트 번호 5985) 원격에서 명령어 실행할 수 있다.
  • 다음과 같이 진행하여 된다.
    • 먼저 DC에서 GPO_imsi라는 새로운 Group Policy를 만든다. 그 내용은 스크립트를 다운로드하여 실행하도록 한다. 이 스크립트 안의 내용은 적당히 알아서 만들면 된다. 예를 들면 Hotfix를 파일 서버에서 다운로드하여 설치하기
    • Powershell console 화면을 실행한다
    • Get-Adcomputer -Filter * | ForEach-Object {Invoke-Command -Computername $_.DnsHostname -Scriptblock {gpupdate.exe /force}}
      ** 여기서  computername에 Name 또는 DnsHostname을 모두 사용할 수 있다.
      ** | ForEach-Object {Invoke-Command -Computername $_.DnsHostname -Scriptblock {gpupdate.exe /force}} 를 알아두어야 한다.
      ** ForEach는 처리 속도면에서 좀 느리다. 좀 더 빨리 처리하기 위해서는 아래와 같이 하면 좋다.

    • Invoke-Command -ComputerName (Get-ADComputer -Filter * | Select-Object -ExpandProperty Name) {gpupdate.exe /force}
    • 위의 두 명령어에 대하여 앞에 Measure-Command {   }을 해서 TotalMilliseconds를 보면 처리 속도를 확인할 수 있다.
    • 이렇게 하여 관리자는 클라이언트 컴퓨터에 새로운 Group Policy가 적용되었는지 확인하면 된다.
    • 정말로 대단한 것이다. 이렇게 하면 중앙에서 모든 컴퓨터 앞에서 직접 작업하는 것 처럼 할 수 있다는 것이다. 그것도 한 대가 아니라 수십 대의 컴퓨터를 동시에 작업을 할 수 있다는 말이다.
    • 다음과 같이 명령을 진행해 본다.
      • Get-Adcomputer -Filter {name -like “*Cluster*”}
      • Get-Adcomputer -Filter {name -like “*Cluster*”} | ForEach-Object {Invoke-Command -Computername $_.DnsHostname -Scriptblock {ipconfig}}
      • Get-Adcomputer -Filter {name -like “*Cluster*”} | ForEach-Object {Invoke-Command -Computername $_.DnsHostname -Scriptblock {ping lon-dc1}}
        ** 이렇게 하면 수 십대의 컴퓨터가 한 컴퓨터(lon-dc1)로 Ping을 실행하게 된다
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s