정책을 적용하는 부분은 이미 알고 있다는 전제하에, 정책을 생성하는 부분만 설명 하겠습니다.
정책을 배포하기 전에 가장 중요한 것은 모든 AD User들이 접근할 수 있는 공유폴더의 설정이 필요합니다.
AD User가 접근가능한 폴더에서 파일을 복사해 가게끔 해야 하기 때문엡니다.
사용자 구성 → 정책 → Windows 설정 → 스크립트 (로그온/로그오프) → 로그온 → (마우스 팝업 매뉴) 속성 → 스크립트 추가
※ 아래의 "로그온" 폴더 위치를 임의의 폴더로 변경해서 스크립트를 선택하면 실행이 안되더군요.
로그온을 더블클릭 하거나, 마우스 오른쪽 버튼의 팝업 매뉴를 활성화 시킨 후 속성을 선택
스크립트 파일을 "찾아보기"를 눌러서 검색
현재의 경로에 파일을 붙여넣기하여 선택
※ 저는 해당 경로의 위치를 바꾸면 실행이 되지 않았습니다.
적용
스크립트의 내용은
start_script.bat 파일을 실행하여 내 PC에 해당 파일이 있는지 없는지 판단한 후 있다면 종료, 없다면 해당 파일을 내 PC에 복사하여 실행하는 것입니다.
스크립트: start_script.bat
REM "REM"은 윈도우에서 주석을 의미합니다.
REM echo off 의 의미는 이후 실행하는 명령어를 화면에 표시하지 않겠다는 것이고,
REM 앞의 @ 는 echo off 명령어 자체도 화면에 표시하지 않도록 하는 기능을 합니다.
@echo off
dir c:\users\%username%\downloads | findstr script_test.bat > nul
REM "nul"은 빈 값을 의미합니다.
REM 출력을 빈 곳으로 보내니 결국 화면에도 파일에도 결과를 출력하지 않고
REM 출력 결과를 날려버리는 용도로 사용
if %errorlevel% == 1 (
REM %errorlevel%은 마지막으로 실행시킨 명령어의 실패 여부를 나타냅니다.
REM 성공했을때에는 0의 값을, 실패했을때에는 1의 값을 반환합니다.
copy \\192.168.000.000\전사공유\화면보호기활성화\script_test.bat c:\users\%username%\downloads /y
c:\users\%username%\downloads\script_test.bat
) else (
echo 이미 자료가 있어 복사를 하지 않았습니다.
)
스크립트의 내용은
start_script.bat 배치 파일로 복사해 온 script_test.bat 파일을 실행하여 화면보호기의 작동 여부 설정을 레지스트리에서 값을 불러온 후 화면보호기 작동 여부에 따라서 실행이 되게끔 설정한 스크립트 입니다.
스크립트: script_test.bat
@echo off
for /f "tokens=3 delims= " %%a IN ('reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive') do set result=%%a
if %result% == 1 (
echo.
echo 이미 설정이 적용되어 있습니다.
) else (
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f >> nul
echo.
echo 설정을 적용하였습니다.
)