Windows Defender Antivirus(Windows Defender 바이러스 백신)는 Microsoft가 기본으로 제공하는 무료 백신 프로그램으로, Windows Server 2016과 2019에 기본 탑재되어 있습니다(Windows 10 2004 버전부터는 Microsoft Defender라는 이름으로 불립니다). 이 글에서는 Windows Server 2019/2016 환경에서 Windows Defender를 설치, 관리, 최적화하는 방법을 단계별로 살펴보겠습니다.
목차
- Windows 서버에서 Windows Defender GUI 활성화하기
- Windows Server 2019/2016에서 Windows Defender 제거하는 방법
- PowerShell로 Windows Defender 관리하기
- Defender 검사에서 파일·폴더 제외하는 방법
- PowerShell로 원격 컴퓨터의 Defender 상태 보고서 수집하기
- Windows Defender 바이러스 정의 업데이트하기
- 그룹 정책(GPO)으로 Windows Defender 구성하기
Windows 서버에서 Windows Defender GUI 활성화하기
Windows Server 2016과 2019(Core 에디션 포함)에는 Windows Defender 바이러스 백신 엔진이 내장되어 있습니다. 먼저 PowerShell로 Defender가 설치되어 있는지 확인할 수 있습니다.
Get-WindowsFeature | Where-Object {$_.name -like "*defender*"} | ft Name,DisplayName,Installstate

다만 Windows Server 2016에는 기본적으로 Defender의 그래픽 인터페이스(GUI)가 포함되어 있지 않습니다. 서버 관리자 콘솔에서 역할 및 기능 추가 → 기능 → Windows Defender Features → GUI for Windows Defender 항목을 선택해 GUI를 설치할 수 있습니다.

또는 PowerShell 명령 하나로도 간단히 설치할 수 있습니다.
Install-WindowsFeature -Name Windows-Defender-GUI

반대로 Defender GUI를 제거하려면 다음 명령을 사용합니다.
Uninstall-WindowsFeature -Name Windows-Defender-GUI
Windows Server 2019에서는 Defender GUI가 APPX 애플리케이션 형태로 제공되며, Windows 보안 앱(설정 → 업데이트 및 보안)을 통해 접근합니다. 실제 설정은 바이러스 및 위협 방지 메뉴에서 관리할 수 있습니다.

만약 Windows 보안 앱을 실행할 때 "You'll need a new app to open this windowsdefender(이 windowsdefender를 열려면 새 앱이 필요합니다)"라는 오류가 발생한다면, 아래 PowerShell 명령으로 APPX 패키지를 매니페스트 파일과 함께 다시 등록해야 합니다.
Add-AppxPackage -Register -DisableDevelopmentMode "C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy\AppXManifest.xml"
UWP(APPX) 앱이 완전히 삭제된 경우에는 Microsoft Store 복구와 유사한 절차로 수동 복원이 가능합니다.

Windows Server 2019/2016에서 Windows Defender 제거하는 방법
Windows 10에서는 McAfee, Norton, Avast, Kaspersky, Symantec 같은 서드파티 백신을 설치하면 기본 제공되는 Windows Defender가 자동으로 비활성화됩니다. 하지만 Windows Server에서는 이런 자동 전환이 일어나지 않습니다. 한 대의 컴퓨터나 서버에 여러 백신을 동시에 운영하는 것은 대부분 권장되지 않으므로, 서드파티 백신을 사용한다면 내장 백신 엔진을 수동으로 비활성화해야 합니다.
Windows Server 2019/2016에서 Defender를 제거하려면 서버 관리자 또는 다음 PowerShell 명령을 사용합니다.
Uninstall-WindowsFeature -Name Windows-Defender
주의: 서버에 다른 백신이 없다면 Windows Defender를 제거해서는 안 됩니다. 제거 후 다시 설치하려면 다음 명령을 사용하세요.
Add-WindowsFeature Windows-Defender-Features,Windows-Defender-GUI

PowerShell로 Windows Defender 관리하기
Windows Defender 바이러스 백신은 PowerShell cmdlet을 통해 효율적으로 관리할 수 있습니다. 자주 사용하는 주요 명령들을 살펴보겠습니다.
먼저 Defender 서비스(WinDefend)가 실행 중인지 확인합니다.
Get-Service WinDefend

Status 값이 Running이면 서비스가 정상적으로 작동 중인 것입니다.
현재 Defender의 상세 상태와 설정 정보를 확인하려면 다음 cmdlet을 사용합니다.
Get-MpComputerStatus

이 cmdlet은 최신 바이러스 DB 업데이트 버전과 날짜(AntivirusSignatureLastUpdated, AntispywareSignatureLastUpdated), 활성화된 백신 구성 요소, 마지막 빠른 검사 시간(QuickScanStartTime) 등의 정보를 표시합니다.
실시간 보호를 끄려면 다음 명령을 실행합니다.
Set-MpPreference -DisableRealtimeMonitoring $true
이후에는 OS나 사용자가 여는 파일을 실시간으로 검사하지 않게 됩니다. 다시 실시간 보호를 켜려면 아래 명령을 사용하세요.
Set-MpPreference -DisableRealtimeMonitoring $false
예를 들어 외장 USB 저장 장치에 대한 검사를 활성화하고 싶다면, 먼저 현재 설정을 확인합니다.
Get-MpPreference | fl disable*
USB 드라이브 검사가 비활성화되어 있다면(DisableRemovableDriveScanning = True) 다음 명령으로 켤 수 있습니다.
Set-MpPreference -DisableRemovableDriveScanning $false
Defender 모듈에서 사용 가능한 전체 PowerShell cmdlet 목록은 아래 명령으로 확인할 수 있습니다.
Get-Command -Module Defender
Defender 검사에서 파일·폴더 제외하는 방법
자동 검사에서 제외할 파일 이름, 확장자, 디렉터리 목록(제외 목록)을 지정할 수 있습니다. Windows Server 2019/2016의 Defender 특징 중 하나는 설치된 서버 역할과 기능에 따라 제외 목록이 자동 생성된다는 점입니다.
예를 들어 Hyper-V 역할이 설치되어 있으면 가상 디스크 및 차등 디스크, VHDS 디스크(*.vhd, *.vhdx, *.avhd), 스냅샷, Hyper-V 폴더 및 프로세스(Vmms.exe, Vmwp.exe)가 자동으로 제외 목록에 추가됩니다.
서버에서 Microsoft Defender의 자동 제외 기능을 비활성화하려면 다음 명령을 실행합니다.
Set-MpPreference -DisableAutoExclusions $true
특정 디렉터리를 수동으로 제외 목록에 추가하려면 아래와 같이 입력합니다.
Set-MpPreference -ExclusionPath "C:\ISO", "C:\VM", "C:\Nano"
특정 프로세스를 검사 대상에서 제외하려면 다음 명령을 사용합니다.
Set-MpPreference -ExclusionProcess "vmms.exe", "Vmwp.exe"
PowerShell로 원격 컴퓨터의 Defender 상태 보고서 수집하기
PowerShell을 활용하면 여러 원격 컴퓨터의 Microsoft Defender 상태를 한 번에 조회할 수 있습니다. 아래 간단한 스크립트는 AD 도메인 내 모든 Windows Server 호스트를 찾아 WinRM(Invoke-Command cmdlet)을 통해 Defender 상태를 수집합니다.
$Report = @()
$servers= Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true"'| Select-Object -ExpandProperty Name
foreach ($server in $servers) {
$defenderinfo= Invoke-Command $server -ScriptBlock {Get-MpComputerStatus | Select-Object -Property Antivirusenabled,RealTimeProtectionEnabled,AntivirusSignatureLastUpdated,QuickScanAge,FullScanAge}
If ($defenderinfo) {
$objReport = [PSCustomObject]@{
User = $defenderinfo.PSComputername
Antivirusenabled = $defenderinfo.Antivirusenabled
RealTimeProtectionEnabled = $defenderinfo.RealTimeProtectionEnabled
AntivirusSignatureLastUpdated = $defenderinfo.AntivirusSignatureLastUpdated
QuickScanAge = $defenderinfo.QuickScanAge
FullScanAge = $defenderinfo.FullScanAge
}
$Report += $objReport
}
}
$Report|ft

악성코드 탐지 이력까지 확인하고 싶다면 다음 스크립트를 사용하세요.
$Report = @()
$servers = Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true"'| Select-Object -ExpandProperty Name
foreach ($server in $servers) {
$defenderalerts= Invoke-Command $server -ScriptBlock {Get-MpThreatDetection | Select-Object -Property DomainUser,ProcessName,InitialDetectionTime,CleaningActionID,Resources }
If ($defenderalerts) {
foreach ($defenderalert in $defenderalerts) {
$objReport = [PSCustomObject]@{
Computer = $defenderalert.PSComputername
DomainUser = $defenderalert.DomainUser
ProcessName = $defenderalert.ProcessName
InitialDetectionTime = $defenderalert.InitialDetectionTime
CleaningActionID = $defenderalert.CleaningActionID
Resources = $defenderalert.Resources
}
$Report += $objReport
}
}
}
$Report|ft
이 보고서에서는 감염된 파일 이름, 수행된 조치, 관련 사용자, 소유 프로세스 등을 확인할 수 있습니다.

Windows Defender 바이러스 정의 업데이트하기
Windows Defender는 Windows Update 서버에서 온라인으로 자동 업데이트됩니다. 네트워크에 내부 WSUS 서버가 있다면 해당 서버에서 업데이트를 받도록 구성할 수도 있습니다. 이 경우 WSUS 콘솔에서 Definition Updates(정의 업데이트) 설치가 승인되어 있고, GPO를 통해 클라이언트가 올바른 WSUS 서버를 지정하고 있는지만 확인하면 됩니다.

간혹 잘못된 업데이트 적용 후 Defender가 비정상적으로 동작하는 경우가 있습니다. 이럴 때는 현재 정의 데이터베이스를 초기화한 뒤 다시 내려받는 것이 좋습니다.
"%PROGRAMFILES%\Windows Defender\MPCMDRUN.exe" -RemoveDefinitions -All
"%PROGRAMFILES%\Windows Defender\MPCMDRUN.exe" –SignatureUpdate
인터넷 직접 연결이 불가능한 환경이라면 네트워크 공유 폴더를 통해 업데이트할 수 있습니다. Microsoft 사이트(https://www.microsoft.com/en-us/wdsi/defenderupdates)에서 업데이트를 수동으로 내려받아 공용 네트워크 폴더에 배치한 후, 해당 경로를 지정합니다.
Set-MpPreference -SignatureDefinitionUpdateFileSharesSources \\mun-fs01\Defender
그다음 정의 업데이트를 실행합니다.
Update-MpSignature -UpdateSource FileShares
그룹 정책(GPO)으로 Windows Defender 구성하기
컴퓨터와 서버의 Microsoft Defender 기본 설정은 그룹 정책으로 중앙 집중식 관리가 가능합니다. 다음 GPO 섹션을 사용하세요. 컴퓨터 구성 → 관리 템플릿 → Windows 구성 요소 → Windows Defender 바이러스 백신.
이 섹션에는 Microsoft Defender 설정을 관리할 수 있는 100개가 넘는 다양한 옵션이 포함되어 있습니다.
예를 들어 백신을 완전히 비활성화하려면 GPO 매개 변수 Turn off Windows Defender Antivirus를 '사용'으로 설정하면 됩니다.

사용 가능한 Defender 그룹 정책 설정에 대한 자세한 내용은 Microsoft 공식 문서(https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/use-group-policy-microsoft-defender-antivirus)를 참고하세요.
또한 Azure Security Center(ASC) 포털의 Advanced Threat Protection을 통해 유료 구독(약 호스트당 월 $15)으로 Windows Defender를 중앙에서 통합 관리할 수도 있습니다.