diff --git a/Win 10.ps1 b/Win 10.ps1 new file mode 100644 index 00000000..e052b2b0 --- /dev/null +++ b/Win 10.ps1 @@ -0,0 +1,801 @@ +# Службы диагностического отслеживания +$services = @( +"CDPSvc", +"DiagTrack", +"diagnosticshub.standardcollector.service", +"dmwappushservice", +"DusmSvc", +"lfsvc", +"MapsBroker", +"NcbService", +"SSDPSRV", +"wcncsvc") +Foreach ($service in $services) +{ + Get-Service $service | Stop-Service -ErrorAction SilentlyContinue + Get-Service $service | Set-Service -StartupType Disabled -ErrorAction SilentlyContinue +} +# Отключение телеметрии и сбора данных для отправки +Set-AutologgerConfig -Name "AutoLogger-Diagtrack-Listener" -Start 0 +Set-AutologgerConfig -Name "SQMLogger" -Start 0 +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection -Name AllowTelemetry -Value 1 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name AllowTelemetry -Value 1 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\DataCollection -Name AllowTelemetry -Value 1 -Force +# Отключение и сброс собранной информации для предоставления рекламы +IF (!(Test-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo)) +{ + New-Item -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -Value 0 -Force +# Отключить отчеты об ошибках Windows +New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Value 1 -Force +# Изменение частоты формирования отзывов на "Никогда" +IF (!(Test-Path HKCU:\Software\Microsoft\Siuf\Rules)) +{ + New-Item -Path HKCU:\Software\Microsoft\Siuf\Rules -Force +} +New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -Value 0 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name DoNotShowFeedbackNotifications -Value 1 -Force +# Отключение Cortana +IF (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search")) +{ + New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name AllowCortana -Value 0 -Force +# Отключить Контроль Wi-Fi +IF (Get-NetAdapter -Physical | Where-Object {$_.Name -Match "Беспроводная" -or $_.Name -match "Wi-Fi"}) +{ + New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WcmSvc\wifinetworkmanager\config -Name AutoConnectAllowedOEM -Value 0 -Force +} +# Отключение задач диагностического отслеживания в Планировщике задач +$tasks = @( +"BgTaskRegistrationMaintenanceTask", +"Consolidator", +"DmClient", +"DmClientOnScenarioDownload", +"EnableLicenseAcquisition", +"FamilySafetyMonitor", +"FamilySafetyRefreshTask", +"File History (maintenance mode)", +"FODCleanupTask", +"GatherNetworkInfo", +"MapsToastTask", +"Microsoft Compatibility Appraiser", +"Microsoft-Windows-DiskDiagnosticDataCollector", +"MNO Metadata Parser", +"NetworkStateChangeTask", +"ProgramDataUpdater", +"Proxy", +"QueueReporting", +"TempSignedLicenseExchange", +"UsbCeip", +"WinSAT", +"XblGameSaveTask") +Foreach ($task in $tasks) +{ + Get-ScheduledTask $task | Disable-ScheduledTask +} +# Отключение в "Журналах Windows/Безопасность" сообщения "Платформа фильтрации IP-пакетов Windows разрешила подключение" +auditpol /set /subcategory:"{0CCE9226-69AE-11D9-BED3-505054503030}" /success:disable /failure:disable +# Открывать "Этот компьютер" в Проводнике +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1 -Force +# Отобразить "Этот компьютер" на Рабочем столе +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel -Name "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" -Value 0 -Force +# Показывать скрытые файлы +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name Hidden -Value 1 -Force +# Показывать расширения файлов +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name HideFileExt -Value 0 -Force +# Отключить гибридный спящий режим +New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Power -Name HibernateEnabled -Value 0 -Force +# Не показывать кнопку Просмотра задач +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowTaskViewButton -Value 0 -Force +# Не показывать кнопку поиска +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Search -Name SearchboxTaskbarMode -Value 0 -Force +# Запрашивать подтверждение при удалении файлов +IF (!(Test-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer)) +{ + New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Force +} +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Value 1 -Force +# Запускать проводник с развернутой лентой +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name ExplorerRibbonStartsMinimized -Value 2 -Force +# Развернуть диалог переноса файлов +IF (!(Test-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager)) +{ + New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force +} +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -Value 1 -Force +# Не скрывать конфликт слияния папок +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name HideMergeConflicts -Value 0 -Force +# Отключение автозапуска с внешних носителей +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers -Name DisableAutoplay -Value 1 -Force +# Отключение использования режима одобрения администратором для встроенной учетной записи администратора +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name ConsentPromptBehaviorAdmin -Value 0 -Force +# He дoбaвлять "- яpлык" для coздaвaeмыx яpлыкoв +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -Type Binary -Value ([byte[]](00,00,00,00)) -Force +# Отключение поиска программ в Microsoft Store +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Value 1 -Force +# Не хранить сведения о зоне происхождения вложенных файлов +IF (!(Test-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments)) +{ + New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments -Force +} +IF (!(Test-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments)) +{ + New-Item -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments -Force +} +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments -Name SaveZoneInformation -Value 1 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments -Name SaveZoneInformation -Value 1 -Force +# Отключение SmartScreen для приложений и файлов +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name SmartScreenEnabled -Type String -Value Off -Force +# Отключение SmartScreen в Edge +$edge = (Get-AppxPackage -AllUsers "Microsoft.MicrosoftEdge").PackageFamilyName +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter" -Name EnabledV9 -Value 0 -Force +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter" -Name PreventOverride -Value 0 -Force +# Отключение Flash Player в Edge +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Addons")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Addons" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Addons" -Name FlashPlayerEnabled -Value 0 -Force +# Открывать в новом окне предыдущие страницы в Edge +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ContinuousBrowsing")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ContinuousBrowsing" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ContinuousBrowsing" -Name Enabled -Value 1 -Force +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name AskToCloseAllTabs -Value 0 -Force +# Отображать кнопку домашней страницы в Edge +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name HomeButtonEnabled -Value 1 -Force +# Установить домашнюю страницу в Edge +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name HomeButtonPage -Type String -Value https://yandex.ru -Force +# Отправлять запросы "Не отслеживать" в Edge +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name DoNotTrack -Value 1 -Force +# Отображать лучшие сайты в новой вкладке в Edge +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ServiceUI" -Name NewTabPageDisplayOption -Value 1 -Force +# Не отображать на панели инструментов кнопку "Избранное" в Edge +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Favorites")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Favorites" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Favorites" -Name ShowOnAddressBar -Value 0 -Force +# Отображать на панели инструментов кнопку "Загрузки" в Edge +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Downloads")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Downloads" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Downloads" -Name ShowOnAddressBar -Value 1 -Force +# Не отображать на панели инструментов кнопку "Добавить примечание" в Edge +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Annotations")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Annotations" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Annotations" -Name ShowOnAddressBar -Value 0 -Force +# Не отображать на панели инструментов кнопку "Поделиться этой страницей" в Edge +IF (!(Test-Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Share")) +{ + New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Share" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Share" -Name ShowOnAddressBar -Value 0 -Force +# Не разрешать Edge запускать и загружать страницу при загрузке Windows и каждый раз при закрытии Edge +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader -Name AllowTabPreloading -Value 0 -Force +# Не разрешать предварительный запуск Edge при загрузке Windows, когда система простаивает, и каждый раз при закрытии Edge +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main -Name AllowPrelaunch -Value 0 -Force +# Не показывать при прикреплении окна, что можно прикрепить рядом с ним +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name SnapAssist -Value 0 -Force +# Отключить управление принтером, используемым по умолчанию, со стороны Windows +New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows" -Name LegacyDefaultPrinterMode -Value 1 -Force +# Сохранение скриншотов по Win+PrtScr на Рабочем столе +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{b7bede81-df94-4682-a7d8-57a52620b86f}" -Name RelativePath -Type String -Value %USERPROFILE%\Desktop -Force +# Установка качества фона рабочего стола на 100 % +New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name JPEGImportQuality -Value 100 -Force +# Отключение залипания клавиши Shift после 5 нажатий +New-ItemProperty -Path "HKCU:\Control Panel\Accessibility\StickyKeys" -Name Flags -Type String -Value 506 -Force +# Отключение отображения вкладки "Предыдущие версии" в свойствах файлов +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name NoPreviousVersionsPage -Value 1 -Force +# Отключить флажки для выбора элементов +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name AutoCheckSelect -Value 0 -Force +# Изменение пути переменных сред для временных файлов +IF (!(Test-Path $env:SystemDrive\Temp)) +{ + New-Item -Path $env:SystemDrive\Temp -Type Directory -Force +} +[Environment]::SetEnvironmentVariable("TMP","$env:SystemDrive\Temp","User") +[Environment]::SetEnvironmentVariable("TEMP","$env:SystemDrive\Temp","User") +[Environment]::SetEnvironmentVariable("TMP","$env:SystemDrive\Temp","Machine") +[Environment]::SetEnvironmentVariable("TEMP","$env:SystemDrive\Temp","Machine") +# Удаление UWP-приложений +Get-AppxPackage -AllUsers | Where-Object name -CNotLike *Store* | Remove-AppxPackage -ErrorAction SilentlyContinue +Get-AppxProvisionedPackage -Online | Where-Object DisplayName -CNotLike *Store* | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue +# Отключение компонентов +$features = @( +# Отключение службы "Факсы и сканирование" +'FaxServicesClientPackage', +# Отключение компонентов прежних версий +'LegacyComponents', +# Отключение компонентов работы с мультимедиа +'MediaPlayback', +# Отключение PowerShell 2.0 +'MicrosoftWindowsPowerShellV2', +'MicrosoftWindowsPowershellV2Root', +# Отключение службы XPS +'Printing-XPSServices-Features', +# Печать в PDF (Майкрософт) +'Printing-PrintToPDFServices-Features', +# Отключение службы "Клиент рабочих папок" +'WorkFolders-Client') +Foreach ($feature in $features) +{ + Disable-WindowsOptionalFeature -Online -FeatureName $feature -NoRestart +} +# Добавить Средство просмотра фотографий Windows в пункт контекстного меню "Открыть с помощью" +IF (!(Test-Path Registry::HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\command)) +{ + New-Item -Path Registry::HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\command -Force +} +IF (!(Test-Path Registry::HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\DropTarget)) +{ + New-Item -Path Registry::HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\DropTarget -Force +} +New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open -Name MuiVerb -Type String -Value "@photoviewer.dll,-3043" -Force +New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\command -Name "(Default)" -Type ExpandString -Value "%SystemRoot%\System32\rundll32.exe `"%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll`", ImageView_Fullscreen %1" -Force +New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\DropTarget -Name Clsid -Type String -Value "{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}" -Force +# Ассоциация со Средством просмотра фотографий Windows +cmd.exe /c 'ftype Paint.Picture=%windir%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen %1' +cmd.exe /c 'ftype jpegfile=%windir%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen %1' +cmd.exe /c 'ftype pngfile=%windir%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen %1' +cmd.exe /c 'ftype TIFImage.Document=%windir%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen %1' +cmd.exe /c "assoc .bmp=Paint.Picture" +cmd.exe /c "assoc .jpg=jpegfile" +cmd.exe /c "assoc .jpeg=jpegfile" +cmd.exe /c "assoc .png=pngfile" +cmd.exe /c "assoc .tif=TIFImage.Document" +cmd.exe /c "assoc .tiff=TIFImage.Document" +cmd.exe /c "assoc Paint.Picture\DefaultIcon=%SystemRoot%\System32\imageres.dll,-70" +cmd.exe /c "assoc jpegfile\DefaultIcon=%SystemRoot%\System32\imageres.dll,-72" +cmd.exe /c "assoc pngfile\DefaultIcon=%SystemRoot%\System32\imageres.dll,-71" +cmd.exe /c "assoc TIFImage.Document\DefaultIcon=%SystemRoot%\System32\imageres.dll,-122" +# Удаление OneDrive +Stop-Process -Name OneDrive -ErrorAction SilentlyContinue +Start-Sleep -s 3 +Start-Process "$env:SystemRoot\SysWOW64\OneDriveSetup.exe" /uninstall -NoNewWindow -Wait +Start-Sleep -s 3 +Remove-Item "$env:USERPROFILE\OneDrive" -Recurse -Force -ErrorAction SilentlyContinue +Remove-Item "$env:LOCALAPPDATA\Microsoft\OneDrive" -Recurse -Force -ErrorAction SilentlyContinue +Remove-Item "$env:ProgramData\Microsoft OneDrive" -Recurse -Force -ErrorAction SilentlyContinue +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive -Name DisableFileSyncNGSC -Value 1 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive -Name DisableFileSync -Value 1 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive -Name DisableMeteredNetworkFileSync -Value 0 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\OneDrive -Name DisableLibrariesDefaultSaveToOneDrive -Value 1 -Force +New-ItemProperty -Path HKCU:\Software\Microsoft\OneDrive -Name DisablePersonalSync -Value 1 -Force +Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" -Recurse -Force -ErrorAction SilentlyContinue +Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" -Recurse -Force -ErrorAction SilentlyContinue +Remove-Item "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk" -Force -ErrorAction SilentlyContinue +Unregister-ScheduledTask onedrive* -Confirm:$false +Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run -Name OneDriveSetup -Force -ErrorAction SilentlyContinue +Remove-ItemProperty -Path HKCU:\Environment -Name OneDrive -Force -ErrorAction SilentlyContinue +# Не показывать советы по использованию Windows +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SoftLandingEnabled -Value 0 -Force +# Включение автоматического обновления для других продуктов Microsoft +(New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"") +# Отключение меню игры +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR -Name AllowgameDVR -Value 0 -Force +# Отключение игровой панели +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\GameDVR -Name AppCaptureEnabled -Value 0 -Force +New-ItemProperty -Path HKCU:\System\GameConfigStore -Name GameDVR_Enabled -Value 0 -Force +# Отключение игрового режима +New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name AllowAutoGameMode -Value 0 -Force +New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name AutoGameModeEnabled -Value 0 -Force +# Отключение подсказок игровой панели +New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name ShowStartupPanel -Value 0 -Force +# Отключение восстановления системы +Disable-ComputerRestore -drive $env:SystemDrive +Get-ScheduledTask -TaskName SR | Disable-ScheduledTask +Get-Service swprv,vss | Set-Service -StartupType Manual +Get-Service swprv,vss | Start-Service -ErrorAction SilentlyContinue +Get-CimInstance -ClassName Win32_shadowcopy | Remove-CimInstance +Get-Service swprv,vss | Stop-Service -ErrorAction SilentlyContinue +Get-Service swprv,vss | Set-Service -StartupType Disabled +# Отключение Windows Script Host +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Value 0 -Force +# Всегда отображать все значки в области уведомлений +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name EnableAutoTray -Value 0 -Force +# Отключение брандмауэра +Set-NetFirewallProfile -Enabled False +# Отключение оптимизации доставки для обновлений с других ПК +Get-Service -Name DoSvc | Stop-Service -ErrorAction SilentlyContinue +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization -Name DODownloadMode -Value 0 -Force +# Включение в Планировщике задач запуска очистки обновлений Windows +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Update Cleanup" -Name StateFlags1337 -Value 2 -Force +$action = New-ScheduledTaskAction -Execute "$env:SystemRoot\System32\cleanmgr.exe" -Argument "/sagerun:1337" +$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9am +$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable +$principal = New-ScheduledTaskPrincipal -UserID $env:USERNAME -RunLevel Highest +$params = @{ +"TaskName" = "Update Cleanup" +"Action" = $action +"Trigger" = $trigger +"Settings" = $settings +"Principal" = $principal +} +Register-ScheduledTask @Params -Force +# Включение в Планировщике задач очистки папки %SYSTEMROOT%\SoftwareDistribution\Download +$xml = 'Программы\Прочее\xml\SoftwareDistribution.xml' +filter Get-FirstResolvedPath +{ + (Get-Disk | Where-Object BusType -eq USB | Get-Partition | Get-Volume).DriveLetter | ForEach-Object {$_ + ':\'} | Join-Path -ChildPath $_ -Resolve -ErrorAction SilentlyContinue | Select-Object -First 1 +} +$xml | Get-FirstResolvedPath | Get-Item | Get-Content -Raw | Register-ScheduledTask -TaskName "SoftwareDistribution" -Force +<# +$action = New-ScheduledTaskAction -Execute "Powershell.exe" -Argument @" +`$getservice = Get-Service -Name wuauserv +`$getservice.WaitForStatus('Stopped', '01:00:00') +Get-ChildItem -Path $env:SystemRoot\SoftwareDistribution\Download -Recurse -Force | Remove-Item -Recurse -Force +"@ +$trigger = New-ScheduledTaskTrigger -Weekly -At 9am -DaysOfWeek Thursday -WeeksInterval 4 +$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable +$principal = New-ScheduledTaskPrincipal -UserID System -RunLevel Highest +$params = @{ +"TaskName" = "SoftwareDistribution" +"Action" = $action +"Trigger" = $trigger +"Settings" = $settings +"Principal" = $principal +} +Register-ScheduledTask @Params -Force +#> +# Включение в Планировщике задач удаление устаревших обновлений Office +$drives = (Get-Disk | Where-Object BusType -ne USB | Get-Partition | Where-Object IsBoot -ne True | Get-Volume).DriveLetter | ForEach-Object {$_ + ':'} | Join-Path -ChildPath $_ -Resolve -ErrorAction SilentlyContinue +IF ($drives) +{ + IF (!(Test-Path D:\Программы\Прочее)) + { + New-Item -ItemType Directory D:\Программы\Прочее -Force + } + $bat = 'Программы\Прочее\Office_task.bat' + $xml = 'Программы\Прочее\xml\Office.xml' + filter Get-FirstResolvedPath + { + (Get-Disk | Where-Object BusType -eq USB | Get-Partition | Get-Volume).DriveLetter | ForEach-Object {$_ + ':\'} | Join-Path -ChildPath $_ -Resolve -ErrorAction SilentlyContinue | Select-Object -First 1 + } + $bat | Get-FirstResolvedPath | Copy-Item -Destination D:\Программы\Прочее -Force + $xml | Get-FirstResolvedPath | Get-Item | Get-Content -Raw | Register-ScheduledTask -TaskName "Office" -Force +} +<# +$action = New-ScheduledTaskAction -Execute "Powershell.exe" -Argument @" +`$getservice = Get-Service -Name wuauserv +`$getservice.WaitForStatus('Stopped', '01:00:00') +Start-Process -FilePath D:\Программы\Прочее\Office_task.bat +"@ +$trigger = New-ScheduledTaskTrigger -Weekly -At 9am -DaysOfWeek Thursday -WeeksInterval 4 +$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable +$principal = New-ScheduledTaskPrincipal -UserID System -RunLevel Highest +$params = @{ +"TaskName" = "Office" +"Action" = $action +"Trigger" = $trigger +"Settings" = $settings +"Principal" = $principal +} +Register-ScheduledTask @Params -Force +#> +# Включение в Планировщике задач очистки папки %SYSTEMROOT%\Logs\CBS +$action = New-ScheduledTaskAction -Execute "Powershell.exe" -Argument @" +`$dir = '$env:SystemRoot\Logs\CBS' +`$foldersize = (Get-ChildItem -Path `$dir -Recurse -Force | Measure-Object -Property Length -Sum).Sum/1MB +IF (`$foldersize -GT 10) +{ + Get-ChildItem -Path `$dir -Recurse -Force | Remove-Item -Recurse -Force +} +"@ +$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 62 -At 9am +$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable +$principal = New-ScheduledTaskPrincipal -UserID System -RunLevel Highest +$params = @{ +"TaskName" = "CBS" +"Action" = $action +"Trigger" = $trigger +"Settings" = $settings +"Principal" = $principal +} +Register-ScheduledTask @Params -Force +# Включение в Планировщике задач очистки папки %TEMP% для Windows 10 +$action = New-ScheduledTaskAction -Execute "Powershell.exe" -Argument 'Get-ChildItem -Path "$env:TEMP" -Force -Recurse | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue' +$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 62 -At 9am +$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable +$principal = New-ScheduledTaskPrincipal -UserID System -RunLevel Highest +$params = @{ +"TaskName" = "Temp" +"Action" = $action +"Trigger" = $trigger +"Settings" = $settings +"Principal" = $principal +} +Register-ScheduledTask @Params -Force +# Запретить приложениям работать в фоновом режиме, кроме Cortana и Безопасность Windows +Get-ChildItem -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications" -Exclude "Microsoft.Windows.Cortana*", "Microsoft.Windows.SecHealthUI*" | +ForEach-Object { + New-ItemProperty -Path $_.PsPath -Name Disabled -Value 1 -Force + New-ItemProperty -Path $_.PsPath -Name DisabledByUser -Value 1 -Force +} +# Включить контроль памяти +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -Value 1 -Force +# Запускать контроль памяти каждый месяц +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 2048 -Value 30 -Force +# Удалять временные файлы, не используемые в приложениях +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 04 -Value 1 -Force +# Удалять файлы, которые находятся в корзине +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 08 -Value 1 -Force +# Удалять файлы, которые находятся в корзине более 30 дней +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 256 -Value 30 -Force +# Отобразить секунды в системных часах на панели задач +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowSecondsInSystemClock -Value 1 -Force +# Установить схему управления питания для стационарного ПК и ноутбука +IF (((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType) -eq 1) +{ + powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c +} +Else +{ + powercfg /s 381b4222-f694-41f0-9685-ff5bb260df2e +} +# Использовать последнюю установленную версию .NET Framework для всех приложений +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\.NETFramework -Name OnlyUseLatestCLR -Value 1 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework -Name OnlyUseLatestCLR -Value 1 -Force +# Не отображать экран блокировки +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization -Name NoLockScreen -Value 1 -Force +# Использовать сценарий автоматической настройки прокси-сервера +New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoConfigURL -Type String -Value https://antizapret.prostovpn.org/proxy.pac -Force +# Включение Num Lock при загрузке +New-ItemProperty -Path "Registry::HKEY_USERS\.DEFAULT\Control Panel\Keyboard" -Name InitialKeyboardIndicators -Type String -Value 2147483650 -Force +# Не показывать рекомендации в меню Пуск +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338388Enabled -Value 0 -Force +# Отключить автоматическую установку рекомендованных приложений +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SilentInstalledAppsEnabled -Value 0 -Force +# Отключение возможностей потребителя Microsoft +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent -Name DisableWindowsConsumerFeatures -Value 1 -Force +# Добавить в исключение Защитник Windows папку +$drives = (Get-Disk | Get-Partition | Where-Object IsBoot -ne True | Get-Volume).DriveLetter | ForEach-Object {$_ + ':'} +IF ($drives) +{ + Foreach ($drive In $drives) + { + Add-MpPreference -ExclusionPath $drive\Программы\Прочее -Force + } +} +Add-MpPreference -ExclusionPath $env:SystemRoot\KMS\bin\SppExtComObjPatcher.exe -Force +Add-MpPreference -ExclusionPath $env:SystemRoot\KMS\bin\SppExtComObjPatcher.dll -Force +Add-MpPreference -ExclusionPath $env:SystemRoot\KMS\bin -Force +# Отключение справки по F1 +IF (!(Test-Path "HKCU:\Software\Classes\Typelib\{8cec5860-07a1-11d9-b15e-000d56bfe6ee}\1.0\0\win64")) +{ + New-Item -Path "HKCU:\Software\Classes\Typelib\{8cec5860-07a1-11d9-b15e-000d56bfe6ee}\1.0\0\win64" -Force +} +New-ItemProperty -Path "HKCU:\Software\Classes\Typelib\{8cec5860-07a1-11d9-b15e-000d56bfe6ee}\1.0\0\win64" -Name "(Default)" -Type String -Value "" -Force +# Раскрыть окно Диспетчера задач +$taskmgr = Get-Process Taskmgr -ErrorAction SilentlyContinue +IF ($taskmgr) +{ + $taskmgr.CloseMainWindow() +} +$taskmgr = Start-Process -WindowStyle Hidden -FilePath taskmgr.exe -PassThru +Do +{ + Start-Sleep -Milliseconds 100 + $preferences = Get-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\TaskManager -Name Preferences -ErrorAction SilentlyContinue +} +Until ($preferences) +Stop-Process $taskmgr +$preferences.Preferences[28] = 0 +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\TaskManager -Name Preferences -Type Binary -Value $preferences.Preferences -Force +# Запретить отключение Ethernet-адаптера для экономии энергии +Foreach ($NIC in (Get-NetAdapter -Physical)) +{ + $PowerSaving = Get-CimInstance -ClassName MSPower_DeviceEnable -Namespace root\wmi | Where-Object {$_.InstanceName -match [Regex]::Escape($NIC.PnPDeviceID)} + IF ($PowerSaving.Enable) + { + $PowerSaving.Enable = $false + $PowerSaving | Set-CimInstance + } +} +# Установка крупных значков в панели управления +IF (!(Test-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel)) +{ + New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Force +} +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -Value 0 -Force +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -Value 1 -Force +# Удалить пункт "Изменить с помощью Paint 3D" из контекстного меню +$exts = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff") +Foreach ($ext in $exts) +{ + Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\$ext\Shell\3D Edit" -Recurse -Force -ErrorAction SilentlyContinue +} +# Удалить пункт "Передать на устройство" из контекстного меню +IF (!(Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) +{ + New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -Type String -Value "Play to menu" -Force +# Удалить пункт "Отправить" из контекстного меню +Remove-Item -LiteralPath "Registry::HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\ModernSharing" -Recurse -Force -ErrorAction SilentlyContinue +# Всегда ждать сеть при запуске и входе в систему +IF (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon")) +{ + New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name SyncForegroundPolicy -Value 1 -Force +# Не показывать уведомление "Установлено новое приложение" +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Value 1 -Force +# Переопределение пользовательского метода ввода на английский язык на экране входа +IF (!(Test-Path "HKLM:\SOFTWARE\Policies\Microsoft\Control Panel\International")) +{ + New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Control Panel\International" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Control Panel\International" -Name BlockUserInputMethodsForSignIn -Value 1 -Force +New-ItemProperty -Path "Registry::HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" -Name 1 -Type String -Value 00000409 -Force +New-ItemProperty -Path "Registry::HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" -Name 2 -Type String -Value 00000419 -Force +# Не показывать панель "Люди" на панели задач +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People -Name PeopleBand -Value 0 -Force +# Скрыть папку "Объемные объекты" из "Этот компьютер" +IF (!(Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag")) +{ + New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Name ThisPCPolicy -Type String -Value Hide -Force +IF (!(Test-Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag")) +{ + New-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Name ThisPCPolicy -Type String -Value Hide -Force +# Не показывать анимацию при первом входе в систему +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableFirstLogonAnimation -Value 0 -Force +# Снятие ограничения на одновременное открытие более 15 элементов +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name MultipleInvokePromptMinimum -Value 300 -Force +# Не показывать недавно используемые папки на панели быстрого доступа +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShowFrequent -Value 0 -Force +# Не показывать недавно использовавшиеся файлы на панели быстрого доступа +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShowRecent -Value 0 -Force +# Удалить пункт "Добавить в библиотеку" из контекстного меню +Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\Library Location" -Recurse -Force -ErrorAction SilentlyContinue +Remove-Item -Path "HKLM:\SOFTWARE\Classes\Folder\ShellEx\ContextMenuHandlers\Library Location" -Recurse -Force -ErrorAction SilentlyContinue +# Удалить пункт "Предоставить доступ к" из контекстного меню +IF (!(Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) +{ + New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}" -Type String -Value "" -Force +# Удалить пункт "Включить Bitlocker" из контекстного меню +$keys = @( +"encrypt-bde", +"encrypt-bde-elev", +"manage-bde", +"resume-bde", +"resume-bde-elev", +"unlock-bde") +Foreach ($key in $keys) +{ + New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Drive\shell\$key -Name ProgrammaticAccessOnly -Type String -Value "" -Force +} +# Удаление из автозагрузки иконки Защитника Windows +Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -Name SecurityHealth -Force -ErrorAction SilentlyContinue +# Открепить от панели задач Microsoft Edge и Microsoft Store +$getstring = @' +[DllImport("kernel32.dll", CharSet = CharSet.Auto)] +public static extern IntPtr GetModuleHandle(string lpModuleName); +[DllImport("user32.dll", CharSet = CharSet.Auto)] +internal static extern int LoadString(IntPtr hInstance, uint uID, StringBuilder lpBuffer, int nBufferMax); +public static string GetString(uint strId) +{ + IntPtr intPtr = GetModuleHandle("shell32.dll"); + StringBuilder sb = new StringBuilder(255); + LoadString(intPtr, strId, sb, sb.Capacity); + return sb.ToString(); +} +'@ +$getstring = Add-Type $getstring -PassThru -Name GetStr -Using System.Text +$unpinFromStart = $getstring[0]::GetString(5387) +$apps = (New-Object -Com Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items() +$apps | Where-Object {$_.Path -like "Microsoft.MicrosoftEdge*"} | ForEach-Object {$_.Verbs() | Where-Object {$_.Name -eq $unpinFromStart} | ForEach-Object {$_.DoIt()}} +$apps | Where-Object {$_.Path -like "Microsoft.WindowsStore*"} | ForEach-Object {$_.Verbs() | Where-Object {$_.Name -eq $unpinFromStart} | ForEach-Object {$_.DoIt()}} +# Добавить пункт "Извлечь" для MSI в контекстное меню +IF (!(Test-Path -Path "Registry::HKEY_CLASSES_ROOT\Msi.Package\shell\Извлечь\Command")) +{ + New-Item -Path "Registry::HKEY_CLASSES_ROOT\Msi.Package\shell\Извлечь\Command" -Force +} +New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Msi.Package\shell\Извлечь\Command" -Name "(Default)" -Type String -Value 'msiexec.exe /a "%1" /qb TARGETDIR="%1 extracted"' -Force +# Не использовать мои данные для входа для автоматического завершения настройки устройства после перезапуска или обновления +$sid = (Get-CimInstance Win32_UserAccount -Filter "name='$env:USERNAME'").SID +IF (!(Test-Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserARSO\$sid")) +{ + New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserARSO\$sid" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserARSO\$sid" -Name OptOut -Value 1 -Force +# Удалить ярлык Microsoft Edge с рабочего стола +Remove-Item "$env:USERPROFILE\Desktop\Microsoft Edge.lnk" -Force -ErrorAction SilentlyContinue +# Не отображать все папки в области навигации +New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name NavPaneShowAllFolders -Value 0 -Force +# Отключение пользовательских служб +$services = @( +"cbdhsvc_*", +"OneSyncSvc_*", +"PimIndexMaintenanceSvc_*", +"UnistoreSvc_*", +"UserDataSvc_*") +Foreach ($service In $services) +{ + Get-Service $service | Stop-Service -ErrorAction SilentlyContinue +} +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\cbdhsvc -Name Start -Value 4 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\cbdhsvc -Name UserServiceFlags -Value 0 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\OneSyncSvc -Name Start -Value 4 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\OneSyncSvc -Name UserServiceFlags -Value 0 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\PimIndexMaintenanceSvc -Name Start -Value 4 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\PimIndexMaintenanceSvc -Name UserServiceFlags -Value 0 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UnistoreSvc -Name Start -Value 4 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UnistoreSvc -Name UserServiceFlags -Value 0 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UserDataSvc -Name Start -Value 4 -Force +New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UserDataSvc -Name UserServiceFlags -Value 0 -Force +# Скрыть кнопку Windows Ink Workspace +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PenWorkspace -Name PenWorkspaceButtonDesiredVisibility -Value 0 -Force +# Не предоставлять более специлизированные возможности с соотвествующими советами и рекомендациями +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Privacy -Name TailoredExperiencesWithDiagnosticDataEnabled -Value 0 -Force +# Отключить средство просмотра диагностических данных +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\DiagTrack\EventTranscriptKey -Name EnableEventTranscript -Value 0 -Force +# Разрешить Windows исправлять размытость в приложениях +New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name EnablePerProcessSystemDPI -Value 1 -Force +# Включение блокировки потенциально нежелательных приложений +Set-MpPreference -PUAProtection Enabled +# Удалить список "Недавно добавленные" из меню "Пуск" +IF (!(Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer)) +{ + New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Value 1 -Force +# Удалить пункт "Отправить" из контекстного меню +New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\SendTo -Name "(Default)" -Type String -Value "" -Force +# Удаление принтеров +Remove-Printer -Name Fax, "Microsoft XPS Document Writer", "Microsoft Print to PDF" -ErrorAction SilentlyContinue +# Добавить "Запуск от имени друго пользователя" в контекстное меню для exe-файлов +New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser -Name "(Default)" -Type String -Value "@shell32.dll,-50944" -Force +Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser -Name Extended -Force -ErrorAction SilentlyContinue +New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser -Name SuppressionPolicyEx -Type String -Value "{F211AA05-D4DF-4370-A2A0-9F19C09756A7}" -Force +New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser\command -Name DelegateExecute -Type String -Value "{ea72d00e-4960-42fa-ba92-7792a7944c1d}" -Force +# Включение доступа к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Value 1 -Force +# Включение длинных путей Win32 +New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1 -Force +# Отключить создание ярлыка Edge на рабочем столе после обновления Windows +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name DisableEdgeDesktopShortcutCreation -Value 1 -Force +# Не разрешать приложениям на других устройствах запускать приложения и отправлять сообщения на этом устройстве и наоборот +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\CDP -Name RomeSdkChannelUserAuthzPolicy -Value 0 -Force +# Включить прозрачную панель задач +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name UseOLEDTaskbarTransparency -Value 1 -Force +# Отключить удаление кэша миниатюр +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Thumbnail Cache" -Name Autorun -Value 0 -Force +New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Thumbnail Cache" -Name Autorun -Value 0 -Force +# Включить Управляемый доступ к папкам +Set-MpPreference -EnableControlledFolderAccess Enabled +<# Добавить защищенную папку +$drives = (Get-Disk | Where-Object BusType -ne USB | Get-Partition | Where-Object IsBoot -ne True | Get-Volume).DriveLetter | ForEach-Object {$_ + ':\'} | Join-Path -ChildPath $_ -Resolve -ErrorAction SilentlyContinue +IF ($drives) +{ + Foreach ($drive In $drives) + { + Add-MpPreference -ControlledFolderAccessProtectedFolders $drive + } +} +#> +# Скрыть уведомление Защитника Windows об использовании аккаунта Microsoft +New-ItemProperty "HKCU:\Software\Microsoft\Windows Security Health\State" -Name AccountProtection_MicrosoftAccount_Disconnected -Value 1 -Force +# Скрыть уведомление Защитника Windows об отключенном фильтре SmartScreen для Microsoft Edge +New-ItemProperty "HKCU:\Software\Microsoft\Windows Security Health\State" -Name AppAndBrowser_EdgeSmartScreenOff -Value 0 -Force +# Удаление компонентов +$apps = @( +"App.Support.QuickAssist*", +"Hello.Face*", +"Media.WindowsMediaPlayer*", +"OneCoreUAP.OneSync*", +"OpenSSH.Client*") +Foreach ($app in $apps) +{ + Get-WindowsCapability -Online | Where-Object name -Like $app | Remove-WindowsCapability -Online +} +# Создать ярлык для "Устройства и принтеры" +$target = "control" +$file = "$env:AppData\Microsoft\Windows\Start Menu\Programs\System Tools\Устройства и принтеры.lnk" +$shell = New-Object -ComObject Wscript.Shell +$shortcut = $shell.CreateShortcut($file) +$shortcut.TargetPath = $target +$shortcut.Arguments = "printers" +$shortCut.IconLocation = "%SystemRoot%\system32\DeviceCenter.dll" +$shortcut.Save() +# Запускать ярлык к Командной строке от имени Администратора +$bytes = [System.IO.File]::ReadAllBytes("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk") +$bytes[0x15] = $bytes[0x15] -bor 0x20 +[System.IO.File]::WriteAllBytes("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk", $bytes) +# Удалить пункт "Создать контакт" из контекстного меню +Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\.contact\ShellNew" -Recurse -Force -ErrorAction SilentlyContinue +# Удалить пункт "Создать архив ZIP" из контекстного меню +Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\.zip\ShellNew" -Recurse -Force -ErrorAction SilentlyContinue +# Включение Защиты сети в Защитнике Windows +Set-MpPreference -EnableNetworkProtection Enabled +# Настройка меню Пуск +filter Get-FirstResolvedPath +{ + (Get-Disk | Where-Object BusType -eq USB | Get-Partition | Get-Volume).DriveLetter | ForEach-Object {$_ + ':\'} | Join-Path -ChildPath $_ -Resolve -ErrorAction SilentlyContinue | Select-Object -First 1 +} +$reg = 'Программы\Прочее\reg\Start.reg' +$regpath = $reg | Get-FirstResolvedPath +IF ($regpath) +{ + Remove-Item HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount -Recurse -Force + Start-Process reg.exe -ArgumentList 'import',"$regpath" +} +Else +{ + # Открепить все ярлыки от начального экрана + $key = Get-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*start.tilegrid`$windows.data.curatedtilecollection.tilecollection\Current + $data = $key.Data[0..25] + ([byte[]](202,50,0,226,44,1,1,0,0)) + New-ItemProperty -Path $key.PSPath -Name Data -Type Binary -Value $data -Force +} +# Отображать цвет элементов в меню Пуск, на панели задач и в центре уведомлений +New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name ColorPrevalence -Value 1 -Force +# Отображать цвет элементов в заголовках окон +New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\DWM -Name ColorPrevalence -Value 1 -Force +# Использовать клавишу Print Screen, чтобы запустить функцию создания фрагмента экрана +New-ItemProperty -Path "HKCU:\Control Panel\Keyboard" -Name PrintScreenKeyForSnippingEnabled -Value 1 -Force +# Отключить автоматическое скрытие полос прокрутки в Windows +New-ItemProperty -Path "HKCU:\Control Panel\Accessibility" -Name DynamicScrollbars -Value 0 -Force +# Группировать одинаковые службы в один процесс svhost.exe +$ram = (Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum).Sum/1kb +New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control -Name SvcHostSplitThresholdInKB -Value $ram -Force +# Удалить ярлык "Ваш телефон" с рабочего стола +Remove-Item "$env:USERPROFILE\Desktop\Ваш телефон.lnk" -Force -ErrorAction SilentlyContinue +# Удалить пункт "Восстановить прежнюю версию" из контекстного меню +IF (!(Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) +{ + New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force +} +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{596AB062-B4D2-4215-9F74-E9109B0A8153}" -Type String -Value "" -Force +Stop-Process -ProcessName explorer \ No newline at end of file