Windows에서 로그인 마다 복원 지점 생성하는 방법

Windows 운영 체제에서는 사용자의 편의와 시스템의 안정성을 위해 시스템 보호 기능을 제공하며 복원 지점을 구성하게 되면 시스템의 중요한 변경 사항이 발생할 때 자동으로 복원 지점을 생성하는 것입니다. 복원 지점은 시스템 설정이나 애플리케이션 설치와 같은 중요한 변경 사항이 발생했을 때 이를 기록하여, 필요한 경우 이전 상태로 시스템을 복원할 수 있는 체크포인트 역할을 합니다.

하지만, 시스템이 자동으로 복원 지점을 생성하는 정확한 시점을 사용자가 파악하기는 어려운데요. 이로 인해, 사용자가 시스템을 자주 수정하거나 특정 이벤트, 예를 들어 사용자의 로그인 시에 맞춰 복원 지점을 생성하고 싶어하는 경우가 있을 수 있습니다. 특히, 시스템을 자주 수정하는 사용자나 특정 이벤트가 발생했을 때 복원 지점을 생성하고 싶어하는 사용자의 경우 이러한 자동 생성 방식으로는 충분하지 않을 수 있습니다.

예를 들어, 사용자가 Windows에 로그인할 때 마다 복원 지점을 생성하는 것 처럼, 보다 더 세밀하게 원하는 타이밍에 복원 지점을 생성하고자 하고 싶은 경우 다음과 같이 복원 지점을 생성하는 스크립트를 작성하고, 해당 스크립트를 사용자 로그인 이벤트에 연결하면 정확하게 로그인 시점에 복원 지점을 만들 수 있습니다.

아래 설명은 comeinsidebox.com 에서 테스트 및 검증 후 작성 된 내용이지만 이것이 본문의 내용의 정확성이나 신뢰성에 대해 보증을 하는 것은 아니니 단순 하게 참고용으로 확인바랍니다.

튜토리얼 환경: 윈도우 11 Pro (빌드: 22631.3296)

PowerShell 스크립트 생성

Windows에 로그인할 때마다 자동으로 복원 지점을 만들기 위해서는 스크립트를 작성

메모장에서-스크립트-입력-후-저장
메모장에서 스크립트 입력 후 저장

메모장 또는 사용 중인 에디터를 열고 다음 명령을 작성하거나 붙여넣기( Ctrl + V )하고 CreateRestorePoint.ps1와 같이 파일이름.ps1 형태로 저장합니다. 이때 파일 유형을 모든 파일로 선택하여 확장자가 .txt로 자동 변경되는 것을 방지하세요.

Checkpoint-Computer -Description "LoginRestorePoint" -RestorePointType "APPLICATION_INSTALL"

위 명령은 다음과 같이 동작하게 됩니다.

  • Checkpoint-Computer: 이 명령은 현재 컴퓨터의 상태에 대한 복원 지점을 생성합니다.
  • -Description LoginRestorePoint: 이 옵션은 복원 지점의 설명을 지정합니다. 여기서는 LoginRestorePoint라는 설명이 사용되었습니다. 이 부분은 필요에 따라 다른 이름으로 변경할 수 있습니다.
  • -RestorePointType APPLICATION_INSTALL: 이 옵션은 복원 지점의 유형을 지정합니다. 여기서는 APPLICATION_INSTALL이라는 유형이 사용되었습니다. 이것은 응용 프로그램을 설치할 때 생성되는 복원 지점 유형을 나타냅니다. 이것도 필요에 따라 다른 유형으로 변경할 수 있습니다.

필요한 경우 다음과 같이 작성하면 매번 스크립트가 실행될 때마다 자동으로 생성되는 복원 지점의 이름이 현재 날짜를 반영하게 되어, 복원 지점들을 더 쉽게 식별하고 관리할 수 있게 됩니다.

# 현재 날짜를 YYYYMMDD 형식으로 가져오기
$date = Get-Date -Format "yyyyMMdd"

# 날짜를 복원 지점 설명에 포함
Checkpoint-Computer -Description "LoginRestorePoint_$date" -RestorePointType "APPLICATION_INSTALL"
배치 실행 명령어로 배치(.bat) 파일 만드는 기본 적인 방법

복원 지점 생성 빈도 수정(선택사항)

복원-지점-생성-경고
복원 지점 생성 경고

Windows 시스템에서는 기본적으로 24시간(1440분) 내에 하나의 시스템 복원 지점만 생성할 수 있도록 설정되어 있습니다. 이는 시스템 리소스와 저장 공간을 효율적으로 관리하기 위한 조치로 명령 줄에서 실행 시 위와 같은 경고가 표시됩니다. 따라서, 24시간 보다 더 짧은 시간 마다 복원 지점을 만들고 싶다면 경고의 안내에 따라 이 간격을 짧게 지정하도록 수정해야 합니다. 자세한 수정 과정은 Windows 시스템 보호 복원 지점 생성 간격을 24시간 보다 줄이는 방법 문서에서 확인할 수 있습니다.

작업 스케줄러를 사용하여 로그인 시 스크립트 실행

앞서 생성한 스크립트를 사용자 로그인 이벤트에 연결해야 하는데 Microsoft Windows 운영 체제에서는 사용자가 특정 시간에 자동으로 실행되도록 프로그램이나 스크립트를 예약할 수 있게 해주는 시스템 도구인 작업 스케줄러를 통해 이를 손쉽게 구성할 수 있습니다. 작업 스케줄러를 이용한 특정 프로그램 자동으로 실행 종료 방법 알아보기

작업-스케줄러-실행
작업 스케줄러 실행

작업 표시줄의 검색 필드에 작업 스케줄러 키워드로 검색하면 가장 정확작업 스케줄러가 표시되는데 해당 항목을 클릭하거나 우측 열기 를 클릭합니다.

작업-만들기
작업 만들기

작업 스케줄러가 실행 되면 새로운 스케줄 작업을 생성하기 위해 좌측 사이드 바에서 작업 스케줄러 라이브러리를 마우스 오른쪽 버튼으로 클릭해 메뉴를 확장 후 작업 만들기(R)을 선택합니다.

새-작업-만들기-일반-탭-설정값-입력
새 작업 만들기 일반 탭 설정값 입력

첫 단계는 실행 방식, 보안 수준, 실행 조건 등 작업의 기본적인 옵션을 지정할 수 있는 일반 탭이 열리게 되는데 여기서 상단의 이름(M):필드에 작업의 이름을 입력합니다. 본문에서는 LoginRestorePoint와 같이 작성했습니다. 이어서 보안 옵션에서 가장 높은 수준의 권한으로 실행(I)을 체크해 해당 작업이 관리자 권한으로 수행되도록 구성합니다.

트리거-탭-새로-만들기
트리거 탭 새로 만들기

다시 상단 탭을 트리거 로 이동한 뒤 새로 만들기(N) 를 클릭합니다. 트리거에서는 작업이 실행되는 상황(이벤트)를 정의할 수 있습니다.

새-트리거-만들기에서-로그온할-때-선택
새 트리거 만들기에서 로그온할 때 선택

새 트리거 만들기라는 창이 새롭게 열리게 되는데 여기서 상단 작업 시작(G):의 드롭다운 목록에서 로그온할 때를 선택한 뒤 아래 확인을 클릭합니다. 필요한 경우 특정 사용자 또는 모든 사용자를 선택할 수도 있습니다.

동작-탭-새로-만들기-클릭
동작 탭 새로 만들기 클릭

다시 상단 탭을 동작 으로 이동한 뒤 새로 만들기(N) 를 클릭합니다. 동작에서는 앞선 트리거 상황에서 실행할 작업을 지정할 수 있습니다. 여기서는 시스템 복원 지점을 생성하는 명령을 실행하도록 구성해야 합니다.

새-동작-만들기에서-프로그램-과-인수-값-입력
새 동작 만들기에서 프로그램 과 인수 값 입력

새 동작 만들기 창이 열리면 동작(I):프로그램 시작으로 선택되었는지 확인하고, 프로그램/스크립트(P)powershell.exe 을 입력합니다. 인수 추가(옵션)(A) 에는 아래 코드 블럭의 값에서 스크립트 파일 경로\CreateRestorePoint.ps1값을 자신의 파일 경로로 수정한 후 입력합니다. 만약 바탕화면에 파일이 위치한다면 -ExecutionPolicy Bypass -File "$env:UserProfile\Desktop\CreateRestorePoint.ps1" 와 같이 지정합니다. 모두 입력 후 확인을 눌러 주면 설정이 모두 완료됩니다.

-ExecutionPolicy Bypass -File "스크립트 파일 경로\CreateRestorePoint.ps1"
SSH로 Linux 서버에 접속하는 법

적용 결과 확인

위 작업 후 장치를 재시동 하거나 작업 스케줄러에서 직접 실행하고 복원 지점이 생성되는지 결과를 확인할 수 있습니다.

해당-작업-바로-실행
해당 작업 바로 실행

생성한 스케줄을 마우스 오른쪽 버튼으로 클릭해 메뉴를 열고 실행(R)을 선택하면 해당 스크립트가 바로 실행됩니다.

실행-결과-확인
실행 결과 확인

Windows PowerShell을 열고 다음 명령어를 명령줄에 작성하거나 붙여넣기( Ctrl + V )한 뒤 Enter키로 실행하면 위 그림과 같이 지정한 형식으로 복원 지점이 만들어진 것을 확인할 수 있습니다. 이후

Get-ComputerRestorePoint

관련 글

댓글로 남기기 어려운 내용은 Contact Form 에서 개별적으로 문의 할 수 있습니다. 해당 글과 연관 된 내용은 Copy를 이용해 현재 페이지의 주소를 복사 후 문의 폼에 입력시 보다 정확한 답을 얻을 수 있습니다.

Leave a Comment