Windows 설치 프로그램에 사용자 지정 스크립트 추가

Windows 설치 프로그램 스크립트

Setupcomplete.cmdErrorHandler.cmd는 Windows 설치 프로그램 프로세스 중 또는 후에 실행되는 사용자 지정 스크립트입니다. cscript/wscript 스크립트를 사용하여 애플리케이션을 설치하거나 다른 작업을 실행하는 데 사용할 수 있습니다.

  • %WINDIR%\Setup\Scripts\SetupComplete.cmd: 이 스크립트는 로컬 시스템 권한으로 실행되며 사용자가 데스크톱을 본 직후에 시작됩니다. Enterprise 버전 및 Windows Server 운영 체제를 제외하고 OEM 제품 키를 사용하는 경우 이 설정이 사용하지 않도록 설정됩니다.
  • %WINDIR%\Setup\Scripts\ErrorHandler.cmd: 이 스크립트는 설치 프로그램에서 치명적인 오류가 발생하면 자동으로 실행됩니다. 로컬 시스템 권한으로 실행됩니다.

설정 완료 후 스크립트 실행(SetupComplete.cmd)

작업 순서

  1. Windows가 설치된 후 로그온 화면이 나타나기 전에 Windows 설치 프로그램은 %WINDIR%\Setup\Scripts\ 디렉터리에서 SetupComplete.cmd 파일을 검색합니다.

  2. SetupComplete.cmd 파일이 발견되면 Windows 설치 프로그램에서 스크립트를 실행합니다. Windows 설치 프로그램은 C:\Windows\Panther\UnattendGC\Setupact.log 파일에 작업을 기록합니다.

    설치 프로그램은 SetupComplete.cmd를 실행한 후 스크립트의 종료 코드나 오류 수준을 확인하지 않습니다.

    경고

    시스템을 다시 부팅하고 SetupComplete.cmd 실행을 다시 시작할 수 없습니다. shutdown -r과 같은 명령을 추가하여 시스템을 다시 부팅하면 안 됩니다. 이는 시스템을 잘못된 상태로 만들 것입니다.

  3. 컴퓨터가 설치 중에 도메인에 조인하면 Setupcomplete.cmd가 완료될 때까지 도메인에 정의된 그룹 정책이 컴퓨터에 적용되지 않습니다. 이는 그룹 정책 구성 작업이 스크립트를 방해하지 않도록 하기 위한 것입니다.

Windows 설치 프로그램에 치명적인 오류(ErrorHandler.cmd)가 발생한 경우 스크립트 실행

ErrorHandler.cmd는 동시에 많은 시스템을 설치할 때 유용합니다. 이렇게 하면 Windows 설치 프로그램 중에 오류가 발생할 때를 검색하는 데 도움이 됩니다. 그럴 때 설치 프로그램은 오류 원인을 해결하기 위한 사용자 지정 명령이나 작업을 포함할 수 있는 스크립트를 자동으로 실행합니다.

Windows 설치 프로그램에서 치명적인 오류가 발생하여 설치를 완료할 수 없는 경우 Windows 설치 프로그램은 %WINDIR%\Setup\Scripts\ErrorHandler.cmd 디렉터리에서 명령 스크립트를 검색합니다. 스크립트를 찾았는지 여부에 따라 두 가지 작업 중 하나가 발생합니다.

  • 스크립트를 찾을 수 없으면 오류 텍스트와 함께 대화 상자가 표시됩니다. 사용자는 Windows 설치 프로그램을 종료하기 전에 대화 상자를 닫아야 합니다.
  • 스크립트가 발견되면 스크립트가 동기적으로 실행됩니다. 대화 상자나 오류 텍스트가 표시되지 않습니다. ErrorHandler.cmd 스크립트 실행이 완료되면 Windows 설치 프로그램이 종료됩니다.

예를 들어 컴퓨터는 Windows 설치 프로그램 단계에 따라 이전 버전의 운영 체제나 Windows PE(Windows 사전 설치 환경)와 같이 Windows 설치 프로그램이 실행되었던 환경으로 돌아갑니다.

Windows 설치 프로그램에서 둘 이상의 오류가 발생하고 ErrorHandler.cmd 스크립트를 두 번 이상 실행하는 경우가 있을 수 있습니다. ErrorHandler.cmd에 대한 코드를 개발할 때 이 스크립트를 여러 번 실행할 수 있는지 확인합니다.

ErrorHandler.cmd 사용

ErrorHandler.cmd를 사용하려면 다음 중 하나를 수행하면 됩니다.

  • 이미지를 탑재하고 %WINDIR%\Setup\Scripts\ErrorHandler.cmd에 있는 이미지에 추가합니다. 이미지를 분리합니다.

    또는

  • 임시 파일 위치(예: C:\Temp\ErrorHandler.cmd)에 ErrorHandler.cmd를 추가한 다음 /m 옵션을 사용하여 Windows 설치 프로그램을 실행합니다.

    Setup /m:C:\Temp
    

    자세한 내용은 Windows 설치 프로그램 명령줄 옵션을 참조하세요.

무인을 사용하여 스크립트 실행

Windows 설치 프로그램 프로세스 중에 실행할 이러한 설정 중 하나로 Unattend.xml 파일을 만듭니다. 이는 OEM 제품 키와 함께 사용할 수 있습니다.

동시에 시작할 수 있는 서비스 또는 명령을 실행하려면 RunAsynchronousCommands를 사용합니다.

이러한 설정 중 일부는 사용자 컨텍스트에서 실행되고 나머지는 구성 단계에 따라 시스템 컨텍스트에서 실행됩니다.

  • Windows 설치 프로그램이 시작될 때 스크립트를 실행하려면 Microsoft-Windows-Setup\RunAsynchronousCommand 또는 RunSynchronousCommand를 추가합니다. 이는 하드 디스크 파티션을 설정하는 데 도움이 될 수 있습니다.

  • PC가 감사 모드에 들어갈 때 실행되는 스크립트를 실행하려면 auditUser 구성 단계에 Microsoft-Windows-Deployment\RunAsynchronousCommand 또는 RunSynchronousCommand를 추가합니다. 이는 자동화된 앱 설치 또는 테스트와 같은 작업에 유용할 수 있습니다.

  • Microsoft-Windows-Shell-Setup\LogonCommands\AsynchronousCommand 또는 FirstLogonCommands\SynchronousCommand를 추가하여 OOBE(Out of Box Experience) 이후 사용자가 데스크톱을 보기 전에 실행합니다. 이는 사용자가 이미 언어를 선택한 후 언어별 앱 또는 콘텐츠를 설정하는 데 특히 유용할 수 있습니다.

    스크립트가 길면 사용자가 시작 화면에 빠르게 도달하지 못할 수 있으므로 이러한 스크립트는 드물게 사용합니다. Windows 정품 버전의 경우 이러한 스크립트에 추가 제한 사항이 적용됩니다. 자세한 내용은 OEM 파트너 센터의 라이선싱 및 정책 지침을 참조하세요.

    참고

    FirstLogonCommands를 사용하여 스크립트를 추가하면 Ctrl+Shift+F3을 사용하여 감사 모드로 부팅하더라도 다음 부팅 시 트리거됩니다. 이러한 스크립트를 트리거하지 않고 감사 모드로 부팅하려면 Microsoft-Windows-Deployment\Reseal\Mode = Audit 설정을 추가합니다.

Windows 설치 프로그램 기술 참조사용자 지정 이미지 배포Windows를 감사 모드 또는 OOBE로 부팅Windows 설치 프로그램 중 Windows에 디바이스 드라이버 추가