강좌 / 팁

윈 도 우 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 - - -
4120 소프트웨어| AIMP에서 라디오 스트림(방송)을 녹음하는 법 [1] VᴇɴᴜꜱGɪ 869 11 03-03
4119 모 바 일| 카톡에서 다국어를 쉽게 입력하는 방법 [1] 무림거사 1180 3 03-01
4118 윈 도 우| 탐색기 내장명령어 우클릭에 추가하기 [12] 지후빠 2000 23 02-27
4117 소프트웨어| FastCopy 토탈커맨더 연동 [14] 슈머슈마 1521 6 02-26
4116 윈 도 우| 폴더 및 파일 숨기기 컨텍스트 메뉴 ( 수정 ) [19] 슈머슈마 1445 9 02-26
4115 윈 도 우| PE에서 받는 파일을 안전 장소에 저장하기 [6] PC_Clinic 1504 14 02-24
4114 윈 도 우| Windows 11에서 시스템 요구 사항이 충족되지 않음 미리 알... [1] VᴇɴᴜꜱGɪ 1647 11 02-24
4113 윈 도 우| 파일 및 폴더 경로 복사 컨텍스트 메뉴 [3] 슈머슈마 865 8 02-23
4112 윈 도 우| 인터넷에 연결하지 않고도 Windows 11 장치를 설정할 수 있... VᴇɴᴜꜱGɪ 1430 8 02-23
4111 윈 도 우| 이 앱이 디바이스를 변경할 수 있도록 허용하시겠어요? [4] 하늘은높고 1365 10 02-22
4110 윈 도 우| (수정) Extd 한글 설명서 [명령_문법 부분에 대하여 자세한... [4] 슈머슈마 846 6 02-21
4109 윈 도 우| [자작] Open the Folder - 우클릭 [10] 배워요 1614 14 02-20
4108 윈 도 우| 배치파일로 원하는 날짜 포멧 조합하기 [6] 지후빠 1553 11 02-17
4107 윈 도 우| PE에서 드라이버가 설치 되기위해 필요한 파일 [10] @카리스마 1660 8 02-17
4106 윈 도 우| 배치파일로 윈도 설정과 관계없이 일정한 날짜 얻기 [6] 히이이잌 890 12 02-16
4105 기 타| RSImageX 기본 파일 구성 [19] suk 2641 33 02-14
4104 윈 도 우| WIM 우클릭 부팅 관련 메뉴 2부 [11] 지후빠 2077 18 02-13
4103 윈 도 우| PE 네트워크 설정하는 방법 2편입니다. [4] PC_Clinic 1118 11 02-12
4102 윈 도 우| WIM(PE) 1회성 부팅; 우클릭 보내기 메뉴에 추가 [16] 지후빠 2657 27 02-11
4101 윈 도 우| AdGuard 사용시 다나와 메뉴 폰트 깨지는 현상 [3] damoa 626 2 02-11
XE1.11.6 Layout1.4.8