성일하이메탈 ping 테스트 사용가이드
=================================

1. 파일 구성
   - run.bat: 최초 1회 실행하여 Windows 작업 스케줄러에 자동 실행 작업을 등록합니다.
   - ping_test.ps1: 실제 ping 측정, API 전송, 실패 큐 저장, 로그 기록을 수행합니다.
   - stop.bat: 테스트 종료 시 작업 스케줄러에 등록된 SungeelPingTest 작업을 삭제합니다.
   - 사용가이드.txt: 설치, 실행, 종료, 점검 방법을 안내하는 문서입니다.

2. 권장 압축 해제 위치
   - 권장 경로는 C:\pingtest 입니다.
   - 다른 경로에서 실행해도 스크립트는 동작할 수 있지만, 로그와 큐 파일은 C:\pingtest 하위에 생성됩니다.

3. 최초 등록 방법
   - run.bat을 더블클릭합니다.
   - PowerShell 창에 작업 스케줄러 등록 완료 메시지가 표시되는지 확인합니다.
   - 등록이 완료되면 SungeelPingTest 작업이 10분마다 자동 실행됩니다.

4. 자동 실행 방식
   - run.bat은 ping_test.ps1을 인자 없이 실행합니다.
   - ping_test.ps1은 인자가 없으면 작업 스케줄러 등록 모드로 동작합니다.
   - 작업 스케줄러는 이후 ping_test.ps1 -run 형태로 10분마다 실행합니다.
   - -run 인자가 있을 때만 ping 측정과 API 전송을 수행합니다.

5. 설정 변경 위치
   - ping_test.ps1 상단의 값을 수정합니다.

   - $TargetIp: ping 대상 IP입니다. 현재는 지성측에서 VM 환경 구축이 되어있지않아, 8.8.8.8을 임시 ip로 설정해두었습니다.
     VM 구축 후에는 임시 ip 값을 제거하고, VM의 ip 값을 `$TargetIp`에 기입하시면 됩니다. 

   - $ApiUrl: 측정 결과를 전송할 API 주소입니다.

   - $PingCount: 1회 측정 시 ping 횟수입니다.

6. 로그 확인
   - 로그 경로: C:\pingtest\log
   - 로그 파일명: yyyyMMdd.log
   - 예시:
     2026-09-14 10:10:00 | 8.8.8.8 | 4/4 | 0% | 12ms | POST 200 OK

7. 실패 큐 확인
   - 큐 경로: C:\pingtest\queue
   - API 전송 실패 시 JSON 파일이 저장됩니다.
   - 다음 실행 때 queue 폴더의 JSON을 먼저 재전송합니다.
   - 재전송 성공 시 해당 JSON 파일은 삭제됩니다.

8. 수동 1회 테스트
   - PowerShell 또는 명령 프롬프트에서 아래 명령을 실행합니다.
     powershell -ExecutionPolicy Bypass -File C:\pingtest\ping_test.ps1 -run

9. 테스트 종료
   - stop.bat을 실행합니다.
   - SungeelPingTest 작업이 작업 스케줄러에서 삭제됩니다.

10. 주의사항
   - PC가 꺼져 있거나 로그아웃되어 있으면 측정이 누락될 수 있습니다.
   - 화면 잠금은 괜찮지만 절전/최대 절전은 해제하는 것이 좋습니다.
   - 사내 방화벽에서 ICMP와 API 서버 포트 접근이 허용되어야 합니다.
   - Windows 보안 또는 회사 보안 프로그램이 .bat/.ps1 파일을 격리할 수 있습니다.
   - 파일이 갑자기 사라지면 Windows 보안의 보호 기록 또는 회사 보안 프로그램의 격리 기록을 확인해야 합니다.
