Adam the Automator (한국어)
Windows 가동 시간은 많은 서버 관리자가 환경에서 발생할 수있는 일상적인 문제를 해결하는 데 사용하는 측정 값입니다. 이 문서에서는 Windows Server 및 Windows 10 가동 시간을 확인하는 모든 방법에 대해 알아 봅니다. 가장 쉬운 방법으로 자유롭게 사용할 수 있습니다. 이 기사를 향후 참조로 사용하십시오.
이 기사는 두 가지 주요 부분으로 나뉩니다. 서버 가동 시간을 확인하고 과거 Windows 가동 시간을 찾습니다. 첫 번째 부분에서는 마지막 재부팅 이후 컴퓨터가 작동 한 시간을 찾는 데 중점을 둡니다. 이 기사에서는이를 “현재”가동 시간이라고합니다.
이 기사의 두 번째 부분에서는 여러 번의 재부팅 사이에 Windows 시스템이 얼마나 오랫동안 가동되었는지를 의미하는 “이전”가동 시간을 찾는 데 중점을 둡니다. PowerShell을 사용하여 Windows 이벤트 로그를 구문 분석하여 과거 가동 시간 수치를 가져 오는 방법을 배웁니다.
목차
Windows Server 가동 시간 확인
시작하려면 현재 Windows 가동 시간을 찾는 몇 가지 방법을 살펴 보겠습니다.
로컬에서 명령을 실행하는 데모를 볼 수 있습니다. 이 섹션을 통해 Windows 시스템. 그러나 PowerShell Remoting을 사용하면 원격으로 이러한 검사를 수행 할 수도 있습니다 (작업 관리자 제외).
작업 관리자
가동 시간을 찾는 가장 간단하고 직접적인 방법 중 하나는 작업 관리자를 열기 만하면됩니다.
작업 관리자로 Windows 가동 시간을 확인하려면 Windows 작업 표시 줄을 마우스 오른쪽 버튼으로 클릭하고 작업 관리자를 선택하거나 Ctrl–Shift–Esc를 누르십시오. 작업 관리자가 열리면 성능 탭을 클릭합니다. 성능 탭 아래에 가동 시간 레이블이 표시됩니다.
이벤트 뷰어
이벤트 뷰어는 대부분의 시스템 관리자가 정기적으로 매우 일반적으로 사용합니다. 이는 가동 시간을 검색하는 비 명령 줄 관련 방법에 대한 훌륭한 옵션입니다. 이벤트 ID 6005 및 6006을 사용하여 부팅 / 종료 시간 동안 발생하는 이벤트 로그 서비스가 시작되거나 중지되는시기를 식별 할 수 있습니다. 이벤트 뷰어를 통해 가동 시간을 확인하려면 다음 단계를 따르십시오.
- 시작 메뉴를 열고 이벤트 뷰어를 검색하기 만하면 컴퓨터 관리를 통해서도 액세스 할 수 있습니다.
- 켜기 왼쪽에서 Windows 로그 섹션을 확장하고 시스템을 선택합니다.
- 이제 시스템 관련 이벤트 만 쿼리하므로 창 오른쪽에있는 “현재 로그 필터링…”을 클릭합니다.
- 이벤트 ID 필드 (기본적으로 “모든 이벤트 ID”라는 텍스트로 미리 채워져 있음)에서 해당 이벤트 ID를 검색하고 “6005, 6006″을 입력 한 다음 확인을 클릭해야합니다.
그런 다음 두 시간을 비교하여 총 가동 시간을 생성 할 수 있습니다. 또한 이러한 이벤트의 많은 인스턴스가 저장되어 있으므로 가동 시간 기록을 쿼리 할 수 있습니다.
이제 표시 될 이벤트 로그를 필터링했습니다. 마지막 시간뿐만 아니라 부팅 / 종료 된 모든 알려진 시간이 있습니다.
PowerShell
PowerShell에는 가동 시간을 검색 할 수있는 몇 가지 방법이 있습니다. WMI를 쿼리하거나 Wi를 사용할 수 있습니다. ndows 이벤트 로그
WMI를 쿼리 할 때 Win32_OperatingSystem 클래스를 쿼리하고 아래와 같이 LastBootUpTime
속성을 선택할 수 있습니다.
PowerShell을 통해 이벤트 로그를 쿼리하려면 Get-WinEvent
cmdlet을 사용합니다. 컴퓨터가 마지막으로 시작된 시간을 나타내는 이벤트 ID 6005 또는 6006을 검색해야합니다.
WMIC
WMIC는 WMI에 대한 명령 줄 인터페이스를 제공하며 시도되었습니다. 오랜 세월 사용 된 진정한 방법입니다. WMIC를 통해 가동 시간을 쿼리하려면 Win32_OperatingSystem WMI 클래스를 다시 쿼리합니다. 아래에서 WMIC 구문 os get lastbootuptime
를 사용하여 서버가 마지막으로 시작된 시간을 반환 할 수 있습니다.
WMIC는 Windows에 사전 설치되어 제공되므로 다운로드 할 필요가 없습니다.
시스템 정보 유틸리티
systeminfo 명령은 컴퓨터에 대한 자세한 구성 정보를 표시하며 시스템 가동 시간을 쿼리하는 데 사용됩니다. 기본 제공 찾기 명령 줄 도구를 사용하면 텍스트를 구문 분석하여 필요한 데이터를 검색 할 수 있습니다.
명령 프롬프트 또는 PowerShell을 열고 systeminfo | find
.
systeminfo
이 (가) 사전 설치되어 제공되므로 다운로드 할 필요가 없습니다. Windows.
Net Statistics 명령
Net Statistics 또는 더 일반적으로 알려진 net stats
를 통해 가동 시간을 빠르게 쿼리 할 수도 있습니다. net stats
명령은 세션에 대한 일반 정보를 반환합니다. 아래 통계 이후… 줄을 볼 수 있습니다. 이 날짜는 기계가 시작된시기를 나타냅니다.
가동 시간 명령
Windows 가동 시간을 찾기 위해 작고 휴대 가능한 유틸리티가 필요한 경우 NeoSmart Technologies의 Windows 용 가동 시간 명령 만 있으면됩니다. 이 유틸리티는 모든 Windows 버전에서 가동 시간을 빠르게 쿼리하는 데 적합합니다. 이 도구의 주요 이점은 편의성입니다. 이 도구를 하루에 여러 번 사용하고 있다면이 방법을 고려해보십시오.
도구를 다운로드 한 후 uptime.exe를 % WinDir % \ System32에 압축을 풉니 다. 그런 다음 명령 프롬프트를 열고 uptime
를 입력하면됩니다.
이 도구를 원격으로 실행하려면 먼저 도구를 Windows 시스템에 복사해야합니다. 가동 시간을 확인하고 있습니다.
Get-ServerUptimeReport 스크립트 소개
따라서 PowerShell을 직접 작성할 필요가 없으므로 Get-ServerUptimeReport.ps1이라는 커뮤니티 스크립트를 다운로드하십시오.
이 스크립트를 사용하면 컴퓨터 이름을 매개 변수로 제공 할 수 있습니다. 그런 다음 컴퓨터의 시스템 이벤트 로그를 구문 분석하고 시작 및 중지 이벤트를 모두 찾아서 둘을 비교합니다. 그런 다음 이벤트 로그가 롤링 될 때까지 서버가 온라인 상태였던 총 시간을 반환합니다.
다음은 서버에서이 스크립트를 사용하는 예입니다. 현재 가동 시간을 포함하여 서버가 이벤트 로그에있는 모든 이벤트에 대한 총 가동 시간을 반환합니다.
여러 서버에서 가동 시간 찾기
이 스크립트는 며칠 동안 단일 서버의 가동 시간을 찾습니다. 하지만 한 번에 많은 서버에 대해이 정보가 필요한 경우 어떻게해야합니까? 이를 위해 서버 목록을 수집 한 다음 각 컴퓨터 이름을 한 번에 하나씩이 스크립트에 전달할 수 있습니다.
예를 들어 PowerShell 콘솔에서 배열에있는 모든 서버를 정의합니다. . 이 예에서 변수 배열의 이름은 $servers
입니다.
그러나 실제로는 Active Directory, Hyper-V 또는 서버에서 서버 이름을 가져올 수 있습니다. 텍스트 파일. 서버 이름 배열을 구축 할 수 있다면 괜찮습니다.
모든 서버 이름을 정의한 다음 아래에 표시된 것처럼 루프를 사용하여 각 이름을 반복합니다.
이 코드는 작동하지만 각 행이 참조하는 서버를 확인할 수 없습니다. 계산 된 속성을 사용하여 아래와 같이 출력에 서버 이름을 추가합니다.
이제 시간 경과에 따른 서버 가동 시간에 대한 빠른 보고서를 제공 할 수있는 작은 도구가 생겼습니다!
요약
이제 Windows 가동 시간을 찾는 다양한 방법을 살펴 보았습니다. 어떤 옵션을 선택하든 동일한 정보를 받게됩니다. 자신의 상황에 가장 적합한 것을 선택하세요.
업타임 기록에 대한 기록 보고서가 필요한 경우 Get-ServerUptimeReport
PowerShell 스크립트를 잊지 마세요!