PowerShell을 이용하여 도메인의 모든 컴퓨터의 정책을 새로 고침 하기 위해 invoke-gpupdate 명령을 즉시 실행하는 내용입니다.
관리자 권한으로 실행되어야 하기에 실행시 스크립트 실행권한을 체크하고 관리자 권한이 아닐경우 '현재 실행은 종료되며, 관리자 권한으로 자동 재실행됩니다.' 라는 메세지를 출력합니다.
그렇기에 파워쉘을 관리자 권한으로 실행 후 경로 찾아가서 실행하실 필요없이. 그냥 우클릭해서 'PowerShell에서 실행' 버튼 누르시면 알아서 관리자로 전환되어 집니다.
스크립트내의 핵심 명령어인 invoke-gpupdate 명령이 정상 동작하기 위해서 대상 컴퓨터들에 아래 두가지의 방화벽 인바운드 오픈 작업이 필요합니다.
'원격 예약된 작업관리 (RPC-EPMAP)'
아래는 스크립트 파일과 내용입니다.
붉은색 부분의 도메인만 적절하게 변경해서 사용하면 되겠습니다.
내용 : delmaster.net 도메인의 모든 컴퓨터에 그룹정책 업데이트 명령을 즉시 실행
작성자 : 이성환
작성일 : 2016.04.15
업데이트 : 2016.04.20
관리자권한으로 자동 실행되게 변경
#>
Function Permit-Check
{
Param( [Security.Principal.WindowsBuiltinRole]$Role )
$CurrentUser = [Security.Principal.WindowsPrincipal]
([Security.Principal.WindowsIdentity]::GetCurrent())
$CurrentUser.IsInRole($Role)
}
$User = Permit-Check "administrator"
if($User -eq "True")
{
Write-Host "업데이트 명령 전송 작업중..."
Get-ADComputer -filter * -Searchbase "DC=delmaster,DC=net" | foreach {Invoke-GPUpdate -computer
$_.name -force -RandomDelayInMinutes 0}
write-Host "모든 서버에 업데이트 명령 전송 완료" -ForegroundColor Yellow
pause
}
else
{
Write-Host "관리자 권한으로 실행되지 않았습니다." -ForegroundColor Yellow
write-Host "현재 실행은 종료되며, 관리자 권한으로 자동 재실행 됩니다." -ForegroundColor Yellow
sleep(1)
Start-Process -Verb "Runas" -File PowerShell.exe -Argument "-STA -noprofile -file
$($myinvocation.mycommand.definition)"
}
'PowerShell' 카테고리의 다른 글
PowerShell Repository 구성 (0) | 2017.11.03 |
---|---|
RDCMan 2.7 도메인 컴퓨터 원격데스크톱 연결 한방에 등록하기 (0) | 2016.05.03 |
PowerShell 도메인에 가입된 컴퓨터 정보확인 (0) | 2016.04.26 |
PowerShell 원격데스크톱 포트 변경 (0) | 2016.04.20 |
PowerShell 호스트명 확인 (0) | 2016.04.20 |
PowerShell을 이용한 정책 확인 및 수정 (0) | 2016.03.30 |
PowerShell 조건문 Switch (0) | 2016.03.02 |
원격 Powershell 실행 (0) | 2016.03.02 |