윈 도 우 CMD 배치파일을 로컬 시스템 서비스로 등록
2020.06.05 23:48
윈도우 시작때마다 실행해야 하는 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 실행합니다
댓글 [8]
-
둥굴래 2020.06.06 07:02
-
cungice 2020.06.06 21:24
수고 많으셨습니다. 감사합니다.
-
누디 2020.06.07 00:29
윈도우 작업스케쥴러를 통해 원하는 파일을 윈도우시 시작시 실행할 수 있습니다.
taskschd.msc -> 작업스케쥴러 메뉴중 '동작' -> 작업만들기 순서로 하시면 쉽게 됩니다.
-
Neutrino 2020.06.07 14:29
네 schtasks 도 하나의 서비스 이므로 거기에 추가등록해도 비슷하나 몇가지 단점이 있습니다.
등록방법은 관리자 콘솔창에서 다음과 실행.
schtasks /create /ru SYSTEM /sc onstart /tn [명칭] /tr [스크립트 파일경로]
확인은 schtasks /query /tn [명칭]
-
21퍼 2020.06.14 10:41
좋은 강좌 감사합니다.
관리자 권한으로 실행하고 싶었는데
이게 되는군요 -
미니75 2020.07.20 21:30
안녕하세요 위의 스크립트 복사해서 말씀하신데로..service.cmd로 저장하고 배치파일 init.cmd , ezSVC.dll 을 같은 위치에 위치시킨후 service.cmd를 누르니 도스창이 잠시 열렸다 닫히면서 적용이 안됩니다. 관리자 권한실행해도 마찬가지고...어떤게 잘못된걸까요.??
내용은 그대로 복사했습니다.
컴퓨터 바꾸어가며 시도해봐도 현상이 같습니다. ㅜ
-
Neutrino 2020.07.21 13:57
죄송합니다. 마지막 수정후 테스트를 깜빡했습니다
다시 수정후 테스트 했으니 잘 될겁니다.
-
미니75 2020.07.24 20:03
수정해주신 파일로 다시 테스트하니 너무 잘 됩니다~~^^
꼭 필요한 내용이었는데 감사드립니다. 잘사용하겠습니다.
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4458 | 소프트웨어| pureBasic 기본 설정 [4] | 입니다 | 927 | 14 | 03-24 |
4457 | 윈 도 우| (수정5) 윈도우 버전구분 배치파일 [4] | 메리아 | 1186 | 14 | 03-23 |
4456 | 윈 도 우| 윈도우11&10 앱 제거 무인설치 [16] | 무월 | 1662 | 29 | 03-22 |
4455 | 소프트웨어| 윈도우를 다른 디스크에 복사하기 [20] | gooddew | 1991 | 40 | 03-20 |
4454 | 윈 도 우| Windows 11에서 Android를 웹캠으로 사용하는 방법 | VᴇɴᴜꜱGɪ | 1088 | 6 | 03-16 |
4453 | 윈 도 우| 22621.3296 22631.3296 업데이트 주의. [9] | 타천사둘리 | 2213 | 12 | 03-14 |
4452 | 기 타| WindowsXPE147 수정버전 사용법 입니다... [27] | 노랑개굴 | 1873 | 49 | 03-11 |
4451 | 모 바 일| 유튜브 밴스드 홈화면 해결방법(?) [8] | 체리마키아 | 1977 | 8 | 03-10 |
4450 | 소프트웨어| WinNTSetup 윈도우7 VHD 설치 [19] | 무월 | 1865 | 25 | 03-06 |
4449 | 기 타| [오토핫키 v1] 경로, 이름 ,드라이브명 등등 추출 함수 [2] | 청락은복 | 859 | 8 | 03-06 |
4448 | 소프트웨어| 부팅항목숨기기,보이기-VHDman Lite0.0.8 [3] | 카멜 | 550 | 10 | 03-06 |
4447 | 윈 도 우| 시스템 보호 설정 우클릭 메뉴 [13] | 와로 | 1308 | 27 | 03-04 |
4446 | 소프트웨어| Bcd 항목 1회성 부팅하기-VHDmanLite [7] | 카멜 | 745 | 15 | 03-04 |
4445 | 소프트웨어| Bcd부팅항목 메뉴 숨기기 [3] | 카멜 | 451 | 9 | 03-04 |
4444 | 소프트웨어| 드라이버 백업&자동 설치 - WinNTSetup [17] | 무월 | 1635 | 31 | 03-03 |
4443 | 소프트웨어| 오프라인 윈도우 드라이버 백업 [10] | 카멜 | 1528 | 26 | 02-29 |
4442 | 윈 도 우| DISM 나의 윈도우 문제점 복구 [8] | 마로94 | 1368 | 13 | 02-28 |
4441 | 윈 도 우| 윈도우 장치 드라이버 추출(백업) 명령어 [25] | 컨피그 | 2672 | 64 | 02-23 |
4440 | 기 타| 컴퓨터 구매의 질문이 종종 보여서 나름의 팁을 얘기 합니다. [8] | Boss | 1933 | 6 | 02-19 |
4439 | 윈 도 우| 이 번 업데이트로 엣지에 추가된 사이드바 버튼 제거 [7] | 고고추 | 2162 | 9 | 02-16 |
연식은 아주~아주 구세대인데
윈도우 세대에서 살다보니 좋은 말씀인듯 한데
구세대 언어를 들릴듯 들리듯하면서도 못알아들으니 원......