개요

프로그램을 설치하고 만능윈도우를 만든 다음 여러가지 방법으로 배치파일등이 설치되도록 해야 할 필요성이 있습니다. 그 중에서 무인설치 응답파일로 계정을 만들고 최조 로그인시에 명령어를 줘서 프로그램을 실행해야 할 필요가 있습니다.

메신저를 예를 든다면 CoolMessenger는 생성된 해당 계정에 대화내용을 저장 합니다. 그래서 감사모드에서 쿨메신저를 인스톨 하면 감사모드는 Administrator 최고 관리자 계정으로 설치가 되므로 users > administartor > document 폴더에 쿨메신저 데이터가 저장 되도록 설정이 되며 폴더도 생성이 됩니다.

하지만 최고 관리자 계정을 활성화해서 설치 하지 않고 user 계정을 만들어서 설정을 한다고 하면 쿨메신져는 살아 있어도 데이터는 users > administrator > document 폴더에 저장 하려고 합니다. 이부분이 맞질 않아서 쿨메신져 같은 프로그램은 감사모드에서 미리 설치하는것이 아닌 계정이 생성된 다음에 설치를 해야 하는게 맞습니다.

WSIM 으로 응답파일 작성

기본인 Windows SIM(System Image Manager)로 하는 방법을 알아보고 그 코드를 숙지 하면 굳이 WSIM으로 할 필요는 없습니다. 하지만 버전이 크게 바뀌면 이를테면 1903 에서 2004르 바뀐다면 그땐 새로운 ADK로 해봐야 합니다. 바뀐 부분이 있을수 있으니까요.

왼쪽 하단의 Windows 이미지란의 항목에서 amd_Microsoft-Windows-Shell-Setup_neutral을 오른쪽 마우스로 선택후 7 oobesystem에 설정 추가(7)를 클릭해서 응답파일에 추가 해줍니다.

응답파일 설정 하위 항목에서 FirstLogonCommand 항목에 있습니다. 이 항목에 계정 생성후 처음으로 로그인시에 명령어를 실행하게 하는 것입니다. FirstLogonCommand 항목을 오른쪽 마우스로 선택하고 새 SynchronousCommand 삽입(N) 을 클립해줍니다.

맨 오른쪽 속성항목에 보면 설정란이 있습니다. 이곳의 입력 값은 총 4가지 인데요. 간단하게 작성하면 됩니다. 저의 경우는 설치 사용했던 스크립트들을 자동으로 삭제하는 편입니다. 키값이 들어 가는 경우가 많아서 입니다.

CommandLine %windir%\del.cmd
Description delete command
Order 1
RequiresUserInput 입력값 변수 (잘 사용하지 않음)

실제 생성된 코드값입니다. 명령어를 여러개 넣을 경우 order(순서)를 2번 3번으로 넣어서 명령어를 계속 추가하면 됩니다.

    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <FirstLogonCommands>
                <SynchronousCommand wcm:action="add">
                    <Description>del script</Description>
                    <Order>1</Order>
                    <CommandLine>%windir%\del.cmd</CommandLine>
                </SynchronousCommand>
            </FirstLogonCommands>
        </component>
    </settings>

위에서 사용한 del.cmd 예제입니다.

@echo off
pushd %~dp0
timeout /t 2 /nobreak > nul
rmdir /s /q c:\Windows\Setup\Scripts > nul
del /s /q c:\Windows\Panther\unattend.xml > nul
DEL /F /Q %0% >nul

이상으로 계정생성 후 최초 로그인시에 명령어를 자동으로 입력하는 방법에 대해서 알아봤습니다. 이 구문은 응용하기에 따라 무궁 무진 합니다. 예를 들어 두번째 로그인에서 명령어를 작동하게 해야 할 필요가 있을때 레지스트리에 값을 입력 하거나, 스케줄러로 작동하게끔 명령어를 줄 수도 있습니다.

참고:

LEAVE A REPLY

Please enter your comment!
Please enter your name here