윈도우 11 서비스 관리

728x90

1. 서론

 

필자는 최근 포맷을 한 뒤, 윈도우 세팅을 처음부터 다시 진행했다.

기본앱을 지우고 각종 드라이버를 새로 설치하고 자잘한 세팅을 진행했는데, 서비스 관리에 관해 글을 쓰면 좋을 것 같다고 생각했다.

 

윈도우 11 사용 중 항상 켜져있을 필요가 없는 서비스관리와, 아예 사용하지 않을 서비스에 대한 관리법을 알려주려고 한다.

 

etc-image-0

 

2. 비활성화 목록

 

먼저 필자의 환경은 아래와 같다.

  • AMD CPU + Radeon GPU
  • 블루투스, Wi-Fi 사용 안함
  • 프린터 사용 안함

그런 상태에서 필자가 사용 안 함으로 설정한 서비스는 아래와 같다.

 

AMD Crash Defender Service

AMD External Events Utility

Bluetooth 오디오 게이트웨이 서비스(블루투스 관련)

Bluetooth 지원 서비스(블루투스 관련)

DialogBlockingService

Downloaded Maps Manager(오프라인 지도 관련)

geolocations Service(위치 관련)

HncUpdateService_2020(한컴 자동 업데이트 관련)

IP Helper(ipv6 관련)

Logitech LampArray Service

Microsoft App-V Client

Microsoft Edge Elevation Service (MicrosoftEdgeElevationService) (아래 2개 포함 엣지 관련)

Microsoft Edge Update Service (edgeupdate)

Microsoft Edge Update Service (edgeupdatem)

Microsoft 키보드 필터

Net.Tcp Port Sharing Service

OpenSSH Authentication Agent (OpenSSH 클라이언트 관련)

Phone Service(셀룰러 관련)

Print Spooler(프린트 관련)

Realtek Audio Universal Service(리얼택 오디오 관련, 필자는 헤드셋만 이용중)

Remote Access Connection Manager

Remote Registry

Routing and Remote Access

Secure Socket Tunneling Protocol Service

Shared PC Account Manager

SysMain

System Guard 런타임 모니터 브로커

User Experience Virtualization 서비스

WalletService

Windows Biometric Service

Windows Error Reporting Service

Windows Image Acquisition (WIA)

Windows 모바일 핫스팟 서비스

Xbox Accessory Management Service

Xbox Live 게임 저장

Xbox Live 네트워킹 서비스

Xbox Live 인증 관리자

데이터 사용량

무선 송수신 장치 관리 서비스

셀룰러 시간

소매 데모 서비스

자녀 보호

자동 표준 시간대 업데이트 프로그램

 

 

 

3. 서비스를 껐다 켰다.

 

 

사용 안 함은 정리가 다 되었다고 쳐도 이런 경우를 한번 생각해보자.

필자의 PC에는 Mysql과, Netlimiter, vmware등이 설치되어 있다.

 

mysql을 docker에 올리지 않고 사용하기에 서비스가 항상 돌아가며, vmware와 netlimiter도 같다.

 

개발을 하지 않을 때는 굳이 db서비스가 돌아갈 필요가없고, vmware나 netlimiter를 사용하지않을때도 굳이 서비스가 돌아갈 이유는 없다.

 

그래서 필자는 서비스를 관리하는 배치파일을 작성하여 사용중이다.

 

스크립트는 아래와 같다.

@echo off
:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:-------------------------------------

:menu
cls
echo 1. Service Start
echo 2. Service Stop
echo 3. Exit
set /p choice="Choose an option: "

if "%choice%"=="1" (
    cls
    net start "VMAuthdService"
    net start "VMnetDHCP"
    net start "VMware NAT Service"
    net start "VMUSBArbService"
    goto menu
) else if "%choice%"=="2" (
    cls
    net stop "VMAuthdService"
    net stop "VMnetDHCP"
    net stop "VMware NAT Service"
    net stop "VMUSBArbService"
    goto menu
) else if "%choice%"=="3" (
    exit
) else (
    echo Invalid choice, please try again.
    goto menu
)

 

:menu 이전은 관리자 권한을 얻기 위한 스크립트이다.

본인이 켜거나 끄고 싶은 서비스를 if문 안에 넣어주면 된다.

필자는 1번에 start, 2번에 stop을 넣어줬으며 vmware와 관련된 모든 서비스를 입력해뒀다.

 

이렇게 하면 굳이 그 프로그램을 사용하지 않을때는 서비스를 꺼둘 수 있다.

물론 프로그램 실행 시 알아서 서비스가 실행되지만, mysql의 경우 intellij가 인식하지 못하기에 따로 만들 필요가 있었다.

728x90