강좌 / 팁

윈 도 우 CMD 배치파일을 로컬 시스템 서비스로 등록

2020.06.05 23:48

Neutrino 조회:1954 추천:9

윈도우 시작때마다 실행해야 하는 CMD 배치파일이 있을경우

윈도우 시작그룹에 추가하면 사용자 로그온 이후에야 실행되고 cmd 창이 나타나는 불편함이 있는데

다음은 배치파일을 로컬 시스템 서비스로 등록하여 사용자 로그온에 상관없이 부팅단계에서 실행하는 방법입니다.


@echo off
Set init=init.cmd & :: 등록할 타겟 파일명을 지정
Set files="ezSVC.dll" "%init%"
net session >nul 2>&1 && goto :Got_Admin ||echo  A new window opens with administive privileges. &(echo Start-Process %~dpnx0 -Verb runas )| powershell >nul
Exit /b

:MsgBox
If %1==0 set msg=%windir%\%init% 파일을 시스템 서비스로 등록했습니다
if %1==1 set msg=서비스 등록에 실패했습니다.
If %1 gtr 3 set msg=%1 파일이 없습니다.
(echo Add-Type -AssemblyName PresentationCore,PresentationFramework
 echo [System.Windows.MessageBox]::Show^^^('%msg%' ,'%2', 0, %3^^^)
) | powershell >nul
Exit /b

:Got_Admin
for %%a in (%files%) do (
copy %~dp0\%%~a %windir%
If not exist %windir%\%%~a call :MsgBox %windir%\%%~a  -Fail- 16 &goto :EOF)
sc create ezSVC binpath= %windir%\ezSVC.dll start= auto >nul
sc query ezSVC && echo ezSVC Service is registered. || (call :MsgBox 1 -Fail- 48 &goto :EOF)
(echo [APPs]
echo init=%windir%\%init%) > %windir%\ezSVC.ini
call :MsgBox 0 -Success- 64

위 스크립트를 service.cmd 등으로 작성후 등록할 배치파일(init.cmd)과 첨부한 ezSVC.dll 파일을 함께두고 실행하면

로컬 시스템 계정으로 등록되어 부팅시마다 init.cmd가 실행 됩니다.

맨 윗줄 init= 뒤의 변수는 실제 등록할 파일명으로 수정합니다. (파일명은 공백이 없어야함)

https://windowsforum.kr/lecture/13512866 에서 소개한 배치파일 등을 로컬 서비스로 등록할때 유용합니다.

등록을 마치고 재부팅후 서비스 목록에 ezSVC가 실행중임을 확인할수 있는데

이게 신경쓰이면 배치파일 (여기말고 타겟에서 예: init.cmd) 맨 끝줄에 sc stop ezSVC 행추가.

 

※ 이 스크립트를 일반권한 실행시 관리자권한 승격창이 나옵니다.

※ 타겟 배치파일에 GUI 유틸을 넣으면 실행은 되지만 Unvisible되어 보이지 않게됩니다.

※ 서비스 삭제는 관리자 명령창에서 sc delete ezSVC 실행합니다

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
3719 윈 도 우| Wimboot으로 구성된 시스템 업데이트하는 방법 [4] maniaa 1626 6 06-23
3718 윈 도 우| 나만의 복원 솔루션 만들기 -3부- (UEFI) [15] gooddew 3659 19 06-22
3717 윈 도 우| Windows 10, Administrator 관리자 계정 설치 및 OOBE 오류... [2] 회오리BOi 4598 13 06-21
3716 기 타| WOL CMD로 부팅하기 [1] 내꼬 1641 6 06-20
3715 윈 도 우| 윈도우 디펜더 관리(자동업데이트) [1] 내꼬 3840 6 06-17
3714 윈 도 우| 나만의 복원 솔루션 만들기 -2부- (UEFI) [18] gooddew 4436 29 06-16
3713 윈 도 우| 추가)PE 우측하단 워터마크에 각종 정보 넣기 [14] 히이이잌 2695 24 06-16
3712 서버 / IT| CentOS 8 데스크탑 환경: Xfce 데스크탑 설치하기 VenusGirl 1315 3 06-14
3711 소프트웨어| UNetbootin (Universal Netboot Installer) 범용 Netboot ... [3] VenusGirl 1079 6 06-11
3710 소프트웨어| YUMI – Multiboot USB Creator (멀티 부트 USB 제작기) [6] VenusGirl 4012 16 06-10
3709 윈 도 우| DISM++ 를 이용해서 윈도우 10 설치하기 [18] gooddew 4047 21 06-07
3708 서버 / IT| CentOS 8 기본 설치 안내서 [3] VenusGirl 1774 6 06-07
3707 윈 도 우| 나만의 복구 솔루션 만들기 -1부- (UEFI) [36] gooddew 7864 31 06-06
» 윈 도 우| CMD 배치파일을 로컬 시스템 서비스로 등록 [8] Neutrino 1954 9 06-05
3705 소프트웨어| Ventoy 4GB이상의 이미지 혹시나 해서 해보니 재미난 상황... [9] 비비씨씨 3541 7 06-04
3704 하드웨어| [Tip] EU 플러그 -> KS 플러그 변환 [8] asklee 3894 4 06-02
3703 소프트웨어| 이런 식의 포터블 런처는 어떨까요?(프로그램 있슴.) [7] 타락천사둘 2029 15 06-02
3702 윈 도 우| VHD 동적확장-고정간 변환 및 크기 변경 [1] 신세계 1619 5 06-01
3701 소프트웨어| [내용 업데이트] 무료로 내 PC(또는 폰,TV BOX)를 영화 감... [16] windowsand 3943 11 05-31
3700 윈 도 우| VHD 부트에서 부팅된 VHD 파일경로 추출과 활용 스크립트 [2] Neutrino 1032 7 05-31
XE1.11.6 Layout1.4.8