Загрузка данных


<#
.SYNOPSIS
Подготовка гостевой Windows для CAPE: отключение Defender, обновлений и "шумных" служб.
#>

# Запрос прав администратора
if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
    Write-Host "Запустите PowerShell от имени администратора!" -ForegroundColor Red
    break
}

Write-Host "Начинаем отключение и настройку служб..." -ForegroundColor Green

# 1. Отключение Защитника Windows (глобально)
Write-Host "[1] Отключаем Защитник Windows..."
try {
    # Попытка отключить через MpPreference
    Set-MpPreference -DisableRealtimeMonitoring $true -ErrorAction SilentlyContinue
    Set-MpPreference -DisableBehaviorMonitoring $true -ErrorAction SilentlyContinue
    Set-MpPreference -DisableBlockAtFirstSeek $true -ErrorAction SilentlyContinue
    Set-MpPreference -DisableIOAVProtection $true -ErrorAction SilentlyContinue
    Set-MpPreference -DisablePrivacyMode $true -ErrorAction SilentlyContinue
    Set-MpPreference -SignatureDisableUpdateOnStartupWithoutEngine $true -ErrorAction SilentlyContinue
    Set-MpPreference -DisableArchiveScanning $true -ErrorAction SilentlyContinue
    Set-MpPreference -DisableIntrusionPreventionSystem $true -ErrorAction SilentlyContinue
    Set-MpPreference -DisableScriptScanning $true -ErrorAction SilentlyContinue
    Set-MpPreference -SubmitSamplesConsent 2 -ErrorAction SilentlyContinue
    
    # Остановка служб Defender
    Stop-Service -Name WinDefend -Force -ErrorAction SilentlyContinue
    Stop-Service -Name WdNisSvc -Force -ErrorAction SilentlyContinue
    Stop-Service -Name Sense -Force -ErrorAction SilentlyContinue
    
    # Отключение служб Defender
    Set-Service -Name WinDefend -StartupType Disabled -ErrorAction SilentlyContinue
    Set-Service -Name WdNisSvc -StartupType Disabled -ErrorAction SilentlyContinue
    Set-Service -Name Sense -StartupType Disabled -ErrorAction SilentlyContinue
    
    Write-Host "    Защитник Windows отключен." -ForegroundColor Green
} catch {
    Write-Host "    Не удалось отключить Защитник. Возможно, включена Tamper Protection." -ForegroundColor Yellow
}

# 2. Отключение Центра обновления Windows
Write-Host "[2] Отключаем Центр обновления Windows..."
$servicesToDisable = @("wuauserv", "UsoSvc", "WaaSMedicSvc", "BITS")
foreach ($service in $servicesToDisable) {
    Stop-Service -Name $service -Force -ErrorAction SilentlyContinue
    Set-Service -Name $service -StartupType Disabled -ErrorAction SilentlyContinue
}
Write-Host "    Центр обновления Windows отключен." -ForegroundColor Green

# 3. Отключение Брандмауэра
Write-Host "[3] Отключаем Брандмауэр..."
netsh advfirewall set allprofiles state off | Out-Null
Write-Host "    Брандмауэр отключен." -ForegroundColor Green

# 4. Отключение UAC (Контроль учетных записей)
Write-Host "[4] Отключаем UAC..."
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA" -Value 0
Write-Host "    UAC отключен (требуется перезагрузка)." -ForegroundColor Green

Write-Host "`nПодготовка завершена! Для применения изменений перезагрузите систему." -ForegroundColor Green