ДИГИТАЛЕН СВЯТ

Регистрирайте безплатен акаунт днес, за да станете член! След като влезете, ще можете да участвате в този сайт, като добавяте свои собствени теми и публикации, както и да се свързвате с други членове чрез вашата лична пощенска кутия!

windows 🚀 Оптимизация на Windows 11 с PowerShell: Как да Подобрим Поверителността, Сигурността и Производителността 🛡️💻

🚀 Оптимизация на Windows 11 с PowerShell: Как да Подобрим Поверителността, Сигурността и Производителността 🛡️💻

Оптимизация на Windows 11 с PowerShell-Как да Подобрим Поверителността, Сигурността и Производ...png
Илюстрация, създадена с помощта на Photoshop и AI инструменти от AiFlux (Тони Ангелчовски).


Аз съм предимно Linux потребител и рядко използвам Windows в ежедневието си. 🐧✨ Въпреки това, понякога ми се налага да стартирам виртуална машина с Windows 11 за тестване или конкретни задачи. Всеки път, когато го направя, се сблъсквам с дразнещи настройки по подразбиране – реклами 🛒, телеметрия 📊 и ненужни фонови услуги, които не само забавят системата, но и компрометират поверителността. 🔒

Затова създадох този PowerShell скрипт. 🧑‍💻 Идеята ми беше да предложа лесен и бърз начин за настройване и оптимизиране на Windows 11. Скриптът изключва телеметрията, блокира рекламите и затяга настройките за сигурност. ✅ Честно казано, подходих практично – исках удобен начин да подготвям нова Windows инсталация по свой вкус, без да губя време в ръчни настройки. ⏱️

Сега, с този скрипт, мога да превърна нова Windows инсталация в по-чиста, защитена и персонализирана среда за минути. ⏳💡 Най-доброто е, че скриптът се стартира само веднъж и настройките остават. 🛠️

Но това не е инструмент само за хора като мен, които рядко използват Windows . 🖥️ Ако цените поверителността си, искате да ограничите събирането на ненужни данни или просто предпочитате по-изчистена система, този скрипт може да ви спести време и усилия. 🌟

Независимо дали настройвате виртуална машина за конкретни задачи или просто искате да оптимизирате текущата си Windows инсталация, този скрипт може да бъде удобното решение, което търсите. 🎯✨



💡 Защо PowerShell е Идеалният Инструмент?

PowerShell ви дава пълен контрол върху настройките на Windows, без да се налага да използвате приложения от трети страни. 🔧 С него можете:
  • ✅ Да деактивирате услуги и телеметрия, които събират данни.
  • 🚫 Да блокирате реклами и проследяване.
  • 🔒 Да конфигурирате защитната стена и антивируса.
  • ⚡ Да оптимизирате производителността, като изключите ненужни програми при стартиране.

🎯 Какво Ще Постигнем с Този Скрипт?

Скриптът е създаден така, че да:

  1. 🔐 Подобри поверителността, като минимизира събирането на данни от Microsoft.
  2. 🛡️ Подобри сигурността, като активира силни настройки за защитната стена и Windows Defender.
  3. ⚙️ Повиши производителността чрез премахване на ненужни стартиращи приложения и услуги.
  4. 🧹 Автоматизира почистването на диска и настройките на браузъра Microsoft Edge.

📋 Основни Настройки, Които Скриптът Прави

  • Деактивиране на Телеметрия и Проследяване 📉
    Телеметрията събира данни за използването на системата. Скриптът намалява това до минимално ниво, достъпно за вашето издание на Windows.
  • Оптимизация на Стартиращите Програми 🚀
    Програмите, които се стартират автоматично с Windows, често забавят системата. Скриптът автоматично премахва ненужните.
  • Подобряване на Microsoft Edge 🌐
    Edge е добър браузър, но настройките му по подразбиране позволяват проследяване и събиране на данни. Скриптът активира защита срещу проследяване и изключва автоматичното синхронизиране.
  • Конфигуриране на Защитната Стена 🔥
    Настройките на защитната стена блокират всички входящи връзки, като позволяват само тези, които са изрично поискани от системата.
  • Автоматично Почистване на Диска 🧽
    Премахва временни файлове, ненужни системни файлове и други отпадъци.

🛠️ Как да Стартирате Скрипта?

  1. Копирайте Скрипта
    Запазете скрипта като .ps1 файл, например ==> Secure-Windows11-Enhanced.ps1
  2. Стартирайте PowerShell като Администратор
    Натиснете Start 🖱️, въведете "PowerShell", щракнете с десния бутон и изберете Run as Administrator. 🚀
  3. Изпълнете Скрипта
    Въведете следните команди:
    PHP:
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
     .\Secure-Windows11-Enhanced.ps1
  4. Рестартирайте Компютъра 🔄
    След като скриптът завърши, рестартирайте системата, за да приложите всички промени. 🖥️

❓ Често Задавани Въпроси

  • Ще повлияе ли скриптът на Windows Update?
    🛡️ Не. Скриптът запазва активността на Windows Update, но намалява събирането на данни.
  • Мога ли да използвам скрипта на Windows Home?
    ✅ Да, но някои настройки като пълния контрол върху телеметрията са достъпни само в Windows Pro.
  • Как мога да върна промените?
    ↩️ Можете да възстановите настройките с тези команди:
    PHP:
    netsh advfirewall reset
     Set-MpPreference -DisableRealtimeMonitoring $false

🌟Заключение

С този PowerShell скрипт можете лесно да трансформирате Windows 11 в по-ефективна, защитена и дискретна система. Настройките са гъвкави и могат да бъдат персонализирани според вашите нужди. 🛠️ Ако имате въпроси или искате да добавите допълнителни функции, не се колебайте да споделите. 📝


🧑‍💻 Скриптът: Secure-Windows11.ps1

Свалете или копирайте този скрипт и го изпълнете, за да оптимизирате своята Windows 11 система:
Свали от ТуК

UPDATE 03.03.2026
PHP:
#Requires -RunAsAdministrator
<#
    Script Name: Secure-Windows11-Enhanced.ps1
    Description: Comprehensive PowerShell script to optimize Windows 11
                 for privacy, security, and performance.
    Author     : AiFlux (Toni Angelchovski) toni.linux@gmail.com
    Version    : 2.0
    Requirements: Windows 11, PowerShell 5.1+, Run as Administrator

    CHANGELOG v2.0:
      - Fixed Section 3: startup app disable now uses registry, not file delete
      - Fixed Section 4: corrected Edge policy registry paths (HKLM Policies)
      - Fixed Section 8: removed MAPS/SampleConsent (privacy contradiction)
      - Added Section 11: Disable Advertising ID & Activity History
      - Added Section 12: Disable Cortana & Search telemetry
      - Added Section 13: Disable unnecessary scheduled tasks
      - Added Section 14: DNS over HTTPS (DoH) via registry
      - Added error handling throughout
      - Added summary report at the end
#>

# ============================================================
# HELPERS
# ============================================================
function Write-Section {
    param([string]$Title)
    Write-Host ""
    Write-Host ("=" * 60) -ForegroundColor DarkCyan
    Write-Host "  $Title" -ForegroundColor Cyan
    Write-Host ("=" * 60) -ForegroundColor DarkCyan
}

function Set-RegValue {
    param(
        [string]$Path,
        [string]$Name,
        $Value,
        [string]$Type = "DWord"
    )
    try {
        if (-not (Test-Path $Path)) {
            New-Item -Path $Path -Force | Out-Null
        }
        Set-ItemProperty -Path $Path -Name $Name -Value $Value -Type $Type -Force
        Write-Host "  [OK] $Name = $Value  ($Path)" -ForegroundColor Green
    } catch {
        Write-Host "  [FAIL] $Name  ($Path) — $($_.Exception.Message)" -ForegroundColor Red
    }
}

function Disable-Svc {
    param([string]$Name)
    try {
        $svc = Get-Service -Name $Name -ErrorAction Stop
        if ($svc.Status -ne "Stopped") { Stop-Service -Name $Name -Force -ErrorAction SilentlyContinue }
        Set-Service -Name $Name -StartupType Disabled -ErrorAction Stop
        Write-Host "  [OK] Service disabled: $Name" -ForegroundColor Green
    } catch {
        Write-Host "  [SKIP] Service not found: $Name" -ForegroundColor DarkGray
    }
}

function Disable-Task {
    param([string]$Path, [string]$Name)
    try {
        Disable-ScheduledTask -TaskPath $Path -TaskName $Name -ErrorAction Stop | Out-Null
        Write-Host "  [OK] Task disabled: $Name" -ForegroundColor Green
    } catch {
        Write-Host "  [SKIP] Task not found: $Name" -ForegroundColor DarkGray
    }
}

$Results = [System.Collections.Generic.List[string]]::new()

# ============================================================
# SECTION 1: SYSTEM CHECK & INFORMATION
# ============================================================
Write-Section "SECTION 1: System Check"

$winVer = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion")
$windowsEdition = $winVer.EditionID
$buildNumber    = $winVer.CurrentBuildNumber
Write-Host "  Edition : $windowsEdition"
Write-Host "  Build   : $buildNumber"

$isPro  = $windowsEdition -match "Professional|Enterprise|Education"
$isHome = $windowsEdition -match "Home"
if ($isHome) {
    Write-Host "  NOTE: Some Group Policy tweaks require Pro/Enterprise." -ForegroundColor Yellow
}
$Results.Add("System: $windowsEdition (Build $buildNumber)")

# ============================================================
# SECTION 2: DISABLE TELEMETRY & DATA COLLECTION
# ============================================================
Write-Section "SECTION 2: Telemetry & Data Collection"

# Works on all editions via registry
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" "AllowTelemetry" 0
Set-RegValue "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" "AllowTelemetry" 0

# Connected User Experiences (UTC)
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" "DisableOneSettingsDownloads" 1
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" "DoNotShowFeedbackNotifications" 1

# Disable feedback hub
Set-RegValue "HKCU:\SOFTWARE\Microsoft\Siuf\Rules" "NumberOfSIUFInPeriod" 0

# Telemetry services
foreach ($svc in @("DiagTrack", "dmwappushservice", "WerSvc", "wercplsupport")) {
    Disable-Svc $svc
}
$Results.Add("Telemetry: Disabled")

# ============================================================
# SECTION 3: OPTIMIZE STARTUP APPLICATIONS  [FIXED]
# ============================================================
Write-Section "SECTION 3: Startup Applications"

# FIX: Disable via registry Run keys, NOT by deleting executable files
$excludedApps = @("SecurityHealth", "Windows Security", "WindowsDefender")

$runPaths = @(
    "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
    "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
)

foreach ($path in $runPaths) {
    if (Test-Path $path) {
        $entries = Get-ItemProperty -Path $path
        $entries.PSObject.Properties |
            Where-Object { $_.Name -notmatch "^PS" -and $excludedApps -notcontains $_.Name } |
            ForEach-Object {
                try {
                    Remove-ItemProperty -Path $path -Name $_.Name -Force -ErrorAction Stop
                    Write-Host "  [OK] Removed startup entry: $($_.Name)" -ForegroundColor Green
                } catch {
                    Write-Host "  [FAIL] $($_.Name): $($_.Exception.Message)" -ForegroundColor Red
                }
            }
    }
}
$Results.Add("Startup apps: Cleaned")

# ============================================================
# SECTION 4: EDGE PRIVACY  [FIXED - uses official policy paths]
# ============================================================
Write-Section "SECTION 4: Microsoft Edge Privacy"

$edgePolicyPath = "HKLM:\SOFTWARE\Policies\Microsoft\Edge"

# Official Microsoft Edge policy registry values
$edgePolicies = @{
    "UserFeedbackAllowed"              = 0   # Disable feedback
    "MetricsReportingEnabled"          = 0   # Disable usage/crash reports
    "SendSiteInfoToImproveServices"    = 0   # Disable site info sharing
    "PersonalizationReportingEnabled"  = 0   # Disable personalization
    "EdgeShoppingAssistantEnabled"     = 0   # Disable shopping assistant
    "SmartScreenEnabled"               = 1   # Keep SmartScreen ON (security)
    "TrackingPrevention"               = 3   # Strict tracking prevention
    "SyncDisabled"                     = 1   # Disable sync
    "SpotlightExperiencesAndRecommendationsEnabled" = 0
    "ShowMicrosoftRewards"             = 0
    "EdgeFollowEnabled"                = 0
    "SearchSuggestEnabled"             = 0
}

foreach ($policy in $edgePolicies.GetEnumerator()) {
    Set-RegValue $edgePolicyPath $policy.Key $policy.Value
}
$Results.Add("Edge: Privacy policies applied")

# ============================================================
# SECTION 5: DISK CLEANUP
# ============================================================
Write-Section "SECTION 5: Disk Cleanup"

# Set all cleanmgr flags silently, then run
$cleanmgrKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches"
$categories = @(
    "Active Setup Temp Folders", "Downloaded Program Files", "Internet Cache Files",
    "Memory Dump Files", "Old ChkDsk Files", "Previous Installations",
    "Recycle Bin", "Setup Log Files", "System error memory dump files",
    "Temporary Files", "Thumbnail Cache", "Update Cleanup", "Windows Error Reporting Files"
)
foreach ($cat in $categories) {
    $catPath = "$cleanmgrKey\$cat"
    if (Test-Path $catPath) {
        Set-RegValue $catPath "StateFlags0001" 2
    }
}

Write-Host "  Running Disk Cleanup silently..." -ForegroundColor Yellow
Start-Process -FilePath "cleanmgr.exe" -ArgumentList "/sagerun:1" -NoNewWindow -Wait
Write-Host "  [OK] Disk Cleanup complete" -ForegroundColor Green
$Results.Add("Disk Cleanup: Done")

# ============================================================
# SECTION 6: REGISTRY SECURITY
# ============================================================
Write-Section "SECTION 6: Registry Security"

# Disable remote registry access
Disable-Svc "RemoteRegistry"

# Restrict anonymous access
Set-RegValue "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" "RestrictAnonymous" 1
Set-RegValue "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" "RestrictAnonymousSAM" 1

# Disable LM hash storage
Set-RegValue "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" "NoLMHash" 1

# Force NTLMv2
Set-RegValue "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" "LmCompatibilityLevel" 5

$Results.Add("Registry Security: Hardened")

# ============================================================
# SECTION 7: CONFIGURE FIREWALL
# ============================================================
Write-Section "SECTION 7: Windows Firewall"

try {
    netsh advfirewall reset | Out-Null
    netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound | Out-Null
    netsh advfirewall set allprofiles state on | Out-Null

    Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True `
        -DefaultInboundAction Block -DefaultOutboundAction Allow `
        -NotifyOnListen False `
        -LogBlocked True `
        -LogFileName "%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log" `
        -LogMaxSizeKilobytes 32767

    Write-Host "  [OK] Firewall configured" -ForegroundColor Green
    $Results.Add("Firewall: Enabled + logging")
} catch {
    Write-Host "  [FAIL] Firewall: $($_.Exception.Message)" -ForegroundColor Red
}

# ============================================================
# SECTION 8: WINDOWS DEFENDER  [FIXED - removed MAPS/Samples]
# ============================================================
Write-Section "SECTION 8: Windows Defender"

try {
    # Enable real-time protection
    Set-MpPreference -DisableRealtimeMonitoring $false
    Set-MpPreference -DisableBehaviorMonitoring $false
    Set-MpPreference -DisableIOAVProtection $false
    Set-MpPreference -DisableScriptScanning $false

    # Privacy-respecting: Disable cloud sample submission
    Set-MpPreference -MAPSReporting 0              # No MAPS reporting
    Set-MpPreference -SubmitSamplesConsent 2        # Never send samples

    # Enable PUA protection
    Set-MpPreference -PUAProtection Enabled

    # Enable network protection
    Set-MpPreference -EnableNetworkProtection Enabled

    Write-Host "  [OK] Defender configured (privacy-safe)" -ForegroundColor Green
    $Results.Add("Windows Defender: Enabled (privacy-safe settings)")
} catch {
    Write-Host "  [FAIL] Defender: $($_.Exception.Message)" -ForegroundColor Red
}

# ============================================================
# SECTION 9: DISABLE UNNECESSARY SERVICES
# ============================================================
Write-Section "SECTION 9: Unnecessary Services"

$servicesToDisable = @(
    "XblGameSave",        # Xbox Game Save
    "XboxNetApiSvc",      # Xbox networking
    "XblAuthManager",     # Xbox Auth
    "RetailDemo",         # Retail Demo mode
    "MapsBroker",         # Offline maps
    "OneSyncSvc",         # Sync framework (per-user svc handled separately)
    "WSearch",            # Windows Search indexer — disable if not needed
    "Fax",                # Fax service
    "PrintNotify",        # Printer notifications (keep if you print)
    "RemoteAccess",       # Routing and Remote Access
    "RemoteRegistry",     # Remote Registry (also in Section 6)
    "SharedAccess",       # Internet Connection Sharing
    "TrkWks"              # Distributed Link Tracking Client
)

foreach ($svc in $servicesToDisable) {
    Disable-Svc $svc
}
$Results.Add("Unnecessary Services: Disabled")

# ============================================================
# SECTION 10: DISABLE UNNECESSARY SCHEDULED TASKS  [NEW]
# ============================================================
Write-Section "SECTION 10: Scheduled Tasks"

$tasksToDisable = @(
    @{ Path = "\Microsoft\Windows\Application Experience\"; Name = "Microsoft Compatibility Appraiser" },
    @{ Path = "\Microsoft\Windows\Application Experience\"; Name = "ProgramDataUpdater" },
    @{ Path = "\Microsoft\Windows\Customer Experience Improvement Program\"; Name = "Consolidator" },
    @{ Path = "\Microsoft\Windows\Customer Experience Improvement Program\"; Name = "UsbCeip" },
    @{ Path = "\Microsoft\Windows\DiskDiagnostic\"; Name = "Microsoft-Windows-DiskDiagnosticDataCollector" },
    @{ Path = "\Microsoft\Windows\Feedback\Siuf\"; Name = "DmClient" },
    @{ Path = "\Microsoft\Windows\Feedback\Siuf\"; Name = "DmClientOnScenarioDownload" },
    @{ Path = "\Microsoft\Windows\Windows Error Reporting\"; Name = "QueueReporting" },
    @{ Path = "\Microsoft\Windows\Location\"; Name = "WindowsActionDialog" },
    @{ Path = "\Microsoft\Windows\Maps\"; Name = "MapsToastTask" },
    @{ Path = "\Microsoft\Windows\Maps\"; Name = "MapsUpdateTask" }
)

foreach ($task in $tasksToDisable) {
    Disable-Task $task.Path $task.Name
}
$Results.Add("Scheduled Tasks: Telemetry tasks disabled")

# ============================================================
# SECTION 11: ADVERTISING ID & ACTIVITY HISTORY  [NEW]
# ============================================================
Write-Section "SECTION 11: Advertising ID & Activity History"

# Advertising ID
Set-RegValue "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" "Enabled" 0
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo" "DisabledByGroupPolicy" 1

# Activity History (Timeline)
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" "EnableActivityFeed" 0
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" "PublishUserActivities" 0
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" "UploadUserActivities" 0

# Location tracking
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\LocationAndSensors" "DisableLocation" 1

# App access to camera/microphone/contacts (privacy settings)
Set-RegValue "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location" "Value" "Deny" -Type String
Set-RegValue "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone" "Value" "Deny" -Type String

$Results.Add("Advertising ID & Activity History: Disabled")

# ============================================================
# SECTION 12: DISABLE CORTANA & SEARCH TELEMETRY  [NEW]
# ============================================================
Write-Section "SECTION 12: Cortana & Search"

Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" "AllowCortana" 0
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" "DisableWebSearch" 1
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" "ConnectedSearchUseWeb" 0
Set-RegValue "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" "AllowSearchToUseLocation" 0
Set-RegValue "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" "BingSearchEnabled" 0
Set-RegValue "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search" "CortanaConsent" 0

$Results.Add("Cortana & Search: Web search disabled")

# ============================================================
# SECTION 13: DNS-over-HTTPS (DoH)  [NEW]
# ============================================================
Write-Section "SECTION 13: DNS over HTTPS (DoH)"

Write-Host "  Configuring DoH via Cloudflare (1.1.1.1) and Google (8.8.8.8)..." -ForegroundColor Yellow

# Enable DoH in Windows 11 (build 19628+)
Set-RegValue "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" "EnableAutoDoh" 2

# Set DNS servers with DoH template
$adapters = Get-NetAdapter | Where-Object { $_.Status -eq "Up" }
foreach ($adapter in $adapters) {
    try {
        Set-DnsClientServerAddress -InterfaceIndex $adapter.ifIndex `
            -ServerAddresses ("1.1.1.1", "1.0.0.1", "8.8.8.8", "8.8.4.4") -ErrorAction SilentlyContinue
        Write-Host "  [OK] DNS set on: $($adapter.Name)" -ForegroundColor Green
    } catch {
        Write-Host "  [SKIP] Could not set DNS on: $($adapter.Name)" -ForegroundColor DarkGray
    }
}

# Register Cloudflare DoH template
Add-DnsClientDohServerAddress -ServerAddress "1.1.1.1" -DohTemplate "https://cloudflare-dns.com/dns-query" `
    -AllowFallbackToUdp $false -AutoUpgrade $true -ErrorAction SilentlyContinue
Add-DnsClientDohServerAddress -ServerAddress "1.0.0.1" -DohTemplate "https://cloudflare-dns.com/dns-query" `
    -AllowFallbackToUdp $false -AutoUpgrade $true -ErrorAction SilentlyContinue

$Results.Add("DNS: DoH enabled (Cloudflare + Google)")

# ============================================================
# SECTION 14: POWER & PERFORMANCE
# ============================================================
Write-Section "SECTION 14: Power & Performance"

# Balanced plan UUID (default) — switch to High Performance
try {
    $highPerf = powercfg -list | Select-String "High performance"
    if ($highPerf) {
        $guid = ($highPerf -split "\s+")[3]
        powercfg -setactive $guid
        Write-Host "  [OK] Power plan: High Performance" -ForegroundColor Green
    } else {
        Write-Host "  [INFO] High Performance plan not found, creating..." -ForegroundColor Yellow
        powercfg -duplicatescheme SCHEME_MIN | Out-Null
    }
} catch {
    Write-Host "  [SKIP] Power plan: $($_.Exception.Message)" -ForegroundColor DarkGray
}

# Disable hibernation (saves disk space)
powercfg -h off
Write-Host "  [OK] Hibernation disabled (hiberfil.sys removed)" -ForegroundColor Green

# Disable fast startup (can cause issues with dual-boot)
Set-RegValue "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power" "HiberbootEnabled" 0

$Results.Add("Power: High Performance, Hibernation off")

# ============================================================
# SUMMARY REPORT
# ============================================================
Write-Host ""
Write-Host ("=" * 60) -ForegroundColor DarkGreen
Write-Host "  SUMMARY — Optimizations Applied" -ForegroundColor Green
Write-Host ("=" * 60) -ForegroundColor DarkGreen
foreach ($line in $Results) {
    Write-Host "  ✓ $line" -ForegroundColor Green
}
Write-Host ""
Write-Host "  Restart your computer to apply all changes." -ForegroundColor Cyan

$restart = Read-Host "  Restart now? (y/N)"
if ($restart -eq "y") {
    Restart-Computer -Force
}




👉Вашето мнение е важно! Какво мислите за скрипта? Използвате ли други методи за оптимизация на Windows? Споделете вашия опит в коментарите! 💬


Тази статия е написана от Тони Ангелчовски и е публикувана ексклузивно във форума на DT Garage. Всички права са запазени. Забранено е всякакво копиране, разпространение или използване на тази статия без изричното писмено разрешение на автора.

Знаете ли, че работим 24x7, за да ви предоставим най-добрите статии и уроци...?
 
Last edited:
Пробвах го бачка,даже върши перфектна работа.Браво @toni 👌
 
Интересно, че използваш PowerShell за оптимизация на Windows 11. Наистина, много хора не осъзнават колко е мощен този инструмент, особено за потребители, които не искат да се занимават с дълги процедури за настройка. Възможността да автоматизираш всичко с един скрипт е наистина удобна.

Съгласен съм, че по подразбиране Windows е натоварен с много ненужни услуги и настройки, които просто забавят системата. Тук е и моментът, в който PowerShell блести – той позволява на потребителите да изключат всичко, което смятат за излишно, и да постигнат по-добра производителност и сигурност.

Лично аз съм против много от настройките по подразбиране, особено когато става въпрос за поверителност. Също така, блокирането на реклами е нещо, което всеки трябва да направи, за да избегне натрапчивата реклама. Не знам дали си пробвал и инструменти като O&O ShutUp10, но PowerShell наистина дава повече контрол.

Така че, ако имаш скрипт, който работи и вече си го тествал, евала на теб! Спестяваш много време и усилия. Важно е и да се споменава, че след като веднъж настроиш системата, можеш да се съсредоточиш върху важните неща, вместо да губиш време в настройки всеки път.

Супер работа!🌟



┌──[ @FluxOracle ]::[Member]
└─> status: [CONNECTED]
 
🔄 Windows 11 PowerShell Оптимизация — v2.0
Какво се промени и защо — подробен changelog



Откакто публикувах оригиналната версия, направих задълбочен преглед и открих няколко неща, които трябваше да се поправят, плюс добавих доста нови функции.



🐛 ПОПРАВЕНИ БЪГОВЕ



🐛 Section 3 — Startup приложения (сериозен бъг)

В оригиналната версия кодът правеше:

Code:
Remove-Item -Path $app.Command

Това се опитваше да изтрие изпълнимия файл на приложението, а не да го премахне от автостарт — потенциално опасно!

В новата версия се работи правилно с registry ключовете Run:


Code:
Remove-ItemProperty -Path $regPath -Name $entryName



🐛 Section 4 — Edge privacy (грешни registry пътища)

Оригиналните пътища (HKCU:\Software\Microsoft\Edge\Privacy) не са официални политики и реално не правеха нищо.

Сега се използва правилният път:


Code:
HKLM:\SOFTWARE\Policies\Microsoft\Edge

...с официални имена на политики като TrackingPrevention, MetricsReportingEnabled и т.н.



🐛 Section 8 — Windows Defender (противоречие с privacy целта)

Оригиналната версия задаваше MAPSReporting 2 и SubmitSamplesConsent 1, което всъщност изпращаше данни към Microsoft — точно обратното на целта на скрипта.

Сега:


Code:
Set-MpPreference -MAPSReporting 0         # Без докладване
Set-MpPreference -SubmitSamplesConsent 2  # Никога не изпраща семпли



✨ НОВИ СЕКЦИИ



✨ Section 10 — Scheduled Tasks

Деактивиране на telemetry задачи, за да не се "събуждат" дори след рестарт:

  • Customer Experience Improvement Program (CEIP)
  • Microsoft Compatibility Appraiser
  • Disk Diagnostic Data Collector
  • Feedback/Siuf задачи
  • Windows Error Reporting



✨ Section 11 — Advertising ID & Activity History

  • Изключване на рекламния идентификатор (Advertising ID)
  • Деактивиране на Activity History (Timeline)
  • Изключване на location tracking
  • Отказ на достъп до микрофон и локация за приложения



✨ Section 12 — Cortana & Search

  • Cortana изключена
  • Bing търсене в Start менюто изключено
  • Web search в Windows Search изключен
  • Search location access: забранен



✨ Section 13 — DNS over HTTPS (DoH) ⭐

Любимото ми допълнение — криптиран DNS чрез Cloudflare (1.1.1.1). Вече ISP-то не може да вижда какви домейни посещавате:

Code:
Add-DnsClientDohServerAddress -ServerAddress "1.1.1.1" `
    -DohTemplate "https://cloudflare-dns.com/dns-query" `
    -AllowFallbackToUdp $false -AutoUpgrade $true



✨ Section 14 — Power & Performance

  • Превключване към High Performance power plan
  • Изключване на hibernation (освобождава GB дисково пространство)
  • Деактивиране на Fast Startup (причинява проблеми при dual-boot)



🏗️ ПОДОБРЕНИЯ В КОДА



🏗️ Helper функции — край на повторението

Добавих helper функции за ясен error handling навсякъде:

Code:
function Set-RegValue { ... }   # Безопасно записване в registry с try/catch
function Disable-Svc   { ... }  # Спиране + деактивиране на услуга
function Disable-Task  { ... }  # Деактивиране на scheduled task

Всяка операция сега показва [OK], [FAIL] или [SKIP] — знаете точно какво се е случило.

В края на скрипта има Summary Report с всички приложени промени и опция за автоматичен рестарт.




⚠️ Бележка за WSearch: Section 9 деактивира WSearch (Windows Search индексиране). Ако разчитате на бързо търсене в Start менюто или File Explorer — коментирайте този ред. За VM или чисти инсталации е ОК да се изключи.





🔀 Алтернатива — Sophia Script



🔀 Sophia Script — ако искате повече

Ако нашият скрипт ви се струва малък — има и по-мощна алтернатива: Sophia Script.

Sophia е open-source PowerShell модул с 150+ функции, GUI wrapper и активна поддръжка. Използва официални Windows методи — не хакове.


Нашият скриптSophia Script
Функции~14 секции, обяснени150+ функции
GUIНяма — само TerminalИма графичен wrapper
За когоИскаш да разбереш всяка промянаИскаш максимален контрол
ПрозрачностВсеки ред е обясненOpen-source, но по-сложен

💡 Sophia Script е по-мощен инструмент. Нашият скрипт е за тези, които искат да разберат точно всяка промяна преди да я направят — без black box.

👉 Прочети гайда за Sophia Script — Windows Central
👉 Sophia Script на GitHub




📥 Обновен скрипт
Свалете новата версия от същия Google Drive линк в оригиналния пост (файлът е обновен) или копирайте директно от поста по-горе.



Имате въпроси или забележки? 🛠️ Пишете в коментарите!


🖋️ Автор: Тони Ангелчовски | DTGaraGe
 
Last edited:
Top Bottom
🛡️ Този сайт използва аналитични инструменти за подобряване на потребителското изживяване. Никакви лични данни не се събират. С продължаването си в Потока приемаш тази философия на прозрачност и уважение.