Время на прочтение10 мин
Количество просмотров356K
Микрософт с помощью пасьянса и косынки учила пользователей пользоваться мышью,
теперь с помощью windows 10 учит читать лицензионное соглашение.
После выхода windows 10 сразу появились сообщения о сборе информации о действиях пользователей и много обсуждений, что делать. Достаточно быстро пользователи составили список основных серверов, собирающих информацию и попытались их заблокировать через файл hosts. Но скептики сразу выдвинули здравое предположение, что MS мог предусмотреть этот метод и некоторые адреса прописать в коде. Тем более, что MS всегда может актуализировать адреса серверов через windows update.
В нашей компании начали появляться первые пользователи windows 10, и мы решили опробовать блокировку передачи телеметрии через встроенный windows firewall.
Итак, собран простой тестовый стенд:
Два ноутбука, на один из них ставим Windows 10 и подключим его к интернету через второй ноутбук, используя internet sharing. На втором ноутбуке, который работает как NAT роутер, поставим Wireshark и определим исходящий трафик на сервера MS с первого ноутбука.
Что получилось:
- Да, Windows 10 отправляет данные;
- Список серверов почти полностью совпал с указанным в статье habrahabr.ru/company/pt/blog/264763 и forums.untangle.com/web-filter/35894-blocking-windows-10-spying-telemetry.html
- Встроенный Windows Firewall полностью блокирует передачу данных на эти узлы.
Правила для Firewall
После того как мы получили список IP и убедились в эффективности их блокировки, можно, с помощью Powershell скрипта, внести их в настройки.
Для добавления правила в Firewall необходимо выполнить следующую команду (в качестве примера возьмем сервер «watson.telemetry.microsoft.com»):
netsh advfirewall firewall add rule name="telemetry_watson.telemetry.microsoft.com" dir=out action=block remoteip=65.55.252.43,65.52.108.29 enable=yes
Где:
name – имя правила и по совместимости название сервера Microsoft;
dir = out – параметр указывающий, что правило соответствует только исходящему сетевому трафику;
action=block – сетевые пакеты, указанные в этом правиле, будут отбрасываются firewall;
remoteip – IP-адрес получателя области исходящего сетевого пакета;
enable=yes – указывает на то, что правило в настоящее время включено.
Аналогично этому будут прописаны и другие правила. В итоге, скрипт будет иметь примерно следующий вид:
Firewall rules
Set-NetFirewallProfile -all
netsh advfirewall firewall add rule name=«telemetry_vortex.data.microsoft.com» dir=out action=block remoteip=191.232.139.254 enable=yes
netsh advfirewall firewall add rule name=«telemetry_telecommand.telemetry.microsoft.com» dir=out action=block remoteip=65.55.252.92 enable=yes
netsh advfirewall firewall add rule name=«telemetry_sqm.telemetry.microsoft.com» dir=out action=block remoteip=65.55.252.93 enable=yes
netsh advfirewall firewall add rule name=«telemetry_watson.telemetry.microsoft.com» dir=out action=block remoteip=65.55.252.43,65.52.108.29 enable=yes
netsh advfirewall firewall add rule name=«telemetry_redir.metaservices.microsoft.com» dir=out action=block remoteip=194.44.4.200,194.44.4.208 enable=yes
netsh advfirewall firewall add rule name=«telemetry_choice.microsoft.com» dir=out action=block remoteip=157.56.91.77 enable=yes
netsh advfirewall firewall add rule name=«telemetry_df.telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.7 enable=yes
netsh advfirewall firewall add rule name=«telemetry_reports.wes.df.telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.91 enable=yes
netsh advfirewall firewall add rule name=«telemetry_wes.df.telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.93 enable=yes
netsh advfirewall firewall add rule name=«telemetry_services.wes.df.telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.92 enable=yes
netsh advfirewall firewall add rule name=«telemetry_sqm.df.telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.94 enable=yes
netsh advfirewall firewall add rule name=«telemetry_telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.9 enable=yes
netsh advfirewall firewall add rule name=«telemetry_watson.ppe.telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.11 enable=yes
netsh advfirewall firewall add rule name=«telemetry_telemetry.appex.bing.net» dir=out action=block remoteip=168.63.108.233 enable=yes
netsh advfirewall firewall add rule name=«telemetry_telemetry.urs.microsoft.com» dir=out action=block remoteip=157.56.74.250 enable=yes
netsh advfirewall firewall add rule name=«telemetry_settings-sandbox.data.microsoft.com» dir=out action=block remoteip=111.221.29.177 enable=yes
netsh advfirewall firewall add rule name=«telemetry_vortex-sandbox.data.microsoft.com» dir=out action=block remoteip=64.4.54.32 enable=yes
netsh advfirewall firewall add rule name=«telemetry_survey.watson.microsoft.com» dir=out action=block remoteip=207.68.166.254 enable=yes
netsh advfirewall firewall add rule name=«telemetry_watson.live.com» dir=out action=block remoteip=207.46.223.94 enable=yes
netsh advfirewall firewall add rule name=«telemetry_watson.microsoft.com» dir=out action=block remoteip=65.55.252.71 enable=yes
netsh advfirewall firewall add rule name=«telemetry_statsfe2.ws.microsoft.com» dir=out action=block remoteip=64.4.54.22 enable=yes
netsh advfirewall firewall add rule name=«telemetry_corpext.msitadfs.glbdns2.microsoft.com» dir=out action=block remoteip=131.107.113.238 enable=yes
netsh advfirewall firewall add rule name=«telemetry_compatexchange.cloudapp.net» dir=out action=block remoteip=23.99.10.11 enable=yes
netsh advfirewall firewall add rule name=«telemetry_cs1.wpc.v0cdn.net» dir=out action=block remoteip=68.232.34.200 enable=yes
netsh advfirewall firewall add rule name=«telemetry_a-0001.a-msedge.net» dir=out action=block remoteip=204.79.197.200 enable=yes
netsh advfirewall firewall add rule name=«telemetry_statsfe2.update.microsoft.com.akadns.net» dir=out action=block remoteip=64.4.54.22 enable=yes
netsh advfirewall firewall add rule name=«telemetry_sls.update.microsoft.com.akadns.net» dir=out action=block remoteip=157.56.77.139 enable=yes
netsh advfirewall firewall add rule name=«telemetry_fe2.update.microsoft.com.akadns.net» dir=out action=block remoteip=134.170.58.121,134.170.58.123,134.170.53.29,66.119.144.190,134.170.58.189,134.170.58.118,134.170.53.30,134.170.51.190 enable=yes
netsh advfirewall firewall add rule name=«telemetry_diagnostics.support.microsoft.com» dir=out action=block remoteip=157.56.121.89 enable=yes
netsh advfirewall firewall add rule name=«telemetry_corp.sts.microsoft.com» dir=out action=block remoteip=131.107.113.238 enable=yes
netsh advfirewall firewall add rule name=«telemetry_statsfe1.ws.microsoft.com» dir=out action=block remoteip=134.170.115.60 enable=yes
netsh advfirewall firewall add rule name=«telemetry_pre.footprintpredict.com» dir=out action=block remoteip=204.79.197.200 enable=yes
netsh advfirewall firewall add rule name=«telemetry_i1.services.social.microsoft.com» dir=out action=block remoteip=104.82.22.249 enable=yes
netsh advfirewall firewall add rule name=«telemetry_feedback.windows.com» dir=out action=block remoteip=134.170.185.70 enable=yes
netsh advfirewall firewall add rule name=«telemetry_feedback.microsoft-hohm.com» dir=out action=block remoteip=64.4.6.100,65.55.39.10 enable=yes
netsh advfirewall firewall add rule name=«telemetry_feedback.search.microsoft.com» dir=out action=block remoteip=157.55.129.21 enable=yes
netsh advfirewall firewall add rule name=«telemetry_rad.msn.com» dir=out action=block remoteip=207.46.194.25 enable=yes
netsh advfirewall firewall add rule name=«telemetry_preview.msn.com» dir=out action=block remoteip=23.102.21.4 enable=yes
netsh advfirewall firewall add rule name=«telemetry_dart.l.doubleclick.net» dir=out action=block remoteip=173.194.113.220,173.194.113.219,216.58.209.166 enable=yes
netsh advfirewall firewall add rule name=«telemetry_ads.msn.com» dir=out action=block remoteip=157.56.91.82,157.56.23.91,104.82.14.146,207.123.56.252,185.13.160.61,8.254.209.254 enable=yes
netsh advfirewall firewall add rule name=«telemetry_a.ads1.msn.com» dir=out action=block remoteip=198.78.208.254,185.13.160.61 enable=yes
netsh advfirewall firewall add rule name=«telemetry_global.msads.net.c.footprint.net» dir=out action=block remoteip=185.13.160.61,8.254.209.254,207.123.56.252 enable=yes
netsh advfirewall firewall add rule name=«telemetry_az361816.vo.msecnd.net» dir=out action=block remoteip=68.232.34.200 enable=yes
netsh advfirewall firewall add rule name=«telemetry_oca.telemetry.microsoft.com.nsatc.net» dir=out action=block remoteip=65.55.252.63 enable=yes
netsh advfirewall firewall add rule name=«telemetry_reports.wes.df.telemetry.microsoft.com» dir=out action=block remoteip=65.52.100.91 enable=yes
netsh advfirewall firewall add rule name=«telemetry_ssw.live.com» dir=out action=block remoteip=207.46.101.29 enable=yes
netsh advfirewall firewall add rule name=«telemetry_msnbot-65-55-108-23.search.msn.com» dir=out action=block remoteip=65.55.108.23 enable=yes
netsh advfirewall firewall add rule name=«telemetry_a23-218-212-69.deploy.static.akamaitechnologies.com» dir=out action=block remoteip=23.218.212.69 enable=yes
Выполнение созданного скрипта
Чтобы не проходить долгий путь по запуску этого power shell скрипта с правами администратора, проще создать .bat файл и запустить его. UAC сам запросит подтверждение прав.
@echo off
cls
echo Telemetry
echo Rules of Firewall
echo.
echo press any key to continue...
pause > NUL
echo Rules of Firewall
echo.
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0.\ms_new.ps1""' -Verb RunAs}"
echo Rules included in Firewall...
echo.
pause
Где ms_new.ps1 – имя созданного файла с power shell командами.
После этого, добавленные правила будут отображаться в Windows Firewall, как на скриншоте ниже:
И, дополнительно, информация, не относящиеся к firewall, но относящаяся к сбору телеметрии
Windows 7/8/8.1
Также стоит отметить, что пользователи ОС Windows 7/8/8.1 получили обновления, которые расширяют возможности системы по сбору и отправке телеметрических данных. Соответственно, к этим пользователям также можно применить рекомендации, представленные в этой статье, или удалить обновления habrahabr.ru/post/265283.
Key logger
Надо отключить «DiagTrack» (сбор данных в компонентах Windows) и «dmwappushservice» (cлужба маршрутизации push-сообщений WAP). Для этого запускаем командную строку от имени администратора и отключаем службы:
sc stop DiagTrack
sc stop dmwappushservice
Или же вообще их удаляем:
sc delete DiagTrack
sc delete dmwappushservice
Планировщик отправки телеметрии
В консоли Taskschd.msc надо запретить задания:
Заголовок спойлера
REM *** Task that collects data for SmartScreen in Windows ***
schtasks /Change /TN "Microsoft\Windows\AppID\SmartScreenSpecific" /Disable
REM *** Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program ***
schtasks /Change /TN "Microsoft\Windows\Application Experience\ProgramDataUpdater" /Disable
REM *** Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program ***
schtasks /Change /TN "Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" /Disable
REM *** Aggregates and uploads Application Telemetry information if opted-in to the Microsoft Customer Experience Improvement Program ***
schtasks /Change /TN "Microsoft\Windows\Application Experience\AitAgent" /Disable
REM *** This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program ***
schtasks /Change /TN "Microsoft\Windows\Autochk\Proxy" /Disable
REM *** If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft ***
schtasks /Change /TN "Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /Disable
REM *** The Kernel CEIP (Customer Experience Improvement Program) task collects additional information about the system and sends this data to Microsoft. ***
REM *** If the user has not consented to participate in Windows CEIP, this task does nothing ***
schtasks /Change /TN "Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /Disable
REM *** The Bluetooth CEIP (Customer Experience Improvement Program) task collects Bluetooth related statistics and information about your machine and sends it to Microsoft ***
REM *** The information received is used to help improve the reliability, stability, and overall functionality of Bluetooth in Windows ***
REM *** If the user has not consented to participate in Windows CEIP, this task does not do anything.***
schtasks /Change /TN "Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /Disable
REM *** Create Object Task ***
schtasks /Change /TN "Microsoft\Windows\CloudExperienceHost\CreateObjectTask" /Disable
REM *** The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program ***
schtasks /Change /TN "Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector" /Disable
REM *** Measures a system's performance and capabilities ***
schtasks /Change /TN "Microsoft\Windows\Maintenance\WinSAT" /Disable
REM *** Network information collector ***
schtasks /Change /TN "Microsoft\Windows\NetTrace\GatherNetworkInfo" /Disable
REM *** Initializes Family Safety monitoring and enforcement ***
schtasks /Change /TN "Microsoft\Windows\Shell\FamilySafetyMonitor" /Disable
REM *** Synchronizes the latest settings with the Family Safety website ***
schtasks /Change /TN "Microsoft\Windows\Shell\FamilySafetyRefresh" /Disable
REM *** SQM (Software Quality Management) ***
schtasks /Change /TN "Microsoft\Windows\IME\SQM data sender" /Disable
REM *** This task initiates the background task for Office Telemetry Agent, which scans and uploads usage and error information for Office solutions ***
schtasks /Change /TN "Microsoft\Office\OfficeTelemetryAgentFallBack" /Disable
REM *** This task initiates Office Telemetry Agent, which scans and uploads usage and error information for Office solutions when a user logs on to the computer ***
schtasks /Change /TN "Microsoft\Office\OfficeTelemetryAgentLogOn" /Disable
также подозриетльные задачи в планировщике, рекомендую отключить:
Заголовок спойлера
REM *** Scans startup entries and raises notification to the user if there are too many startup entries ***
schtasks /Change /TN "Microsoft\Windows\Application Experience\StartupAppTask" /Disable
REM *** Protects user files from accidental loss by copying them to a backup location when the system is unattended ***
schtasks /Change /TN "Microsoft\Windows\FileHistory\File History (maintenance mode)" /Disable
REM *** This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot ***
schtasks /Change /TN "Microsoft\Windows\PI\Sqm-Tasks" /Disable
REM *** This task analyzes the system looking for conditions that may cause high energy use ***
schtasks /Change /TN "Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem" /Disable
Все вышесказанное не 100% панацея, но одно из компромиссных решений.
Мы будем обновлять в этой статье список серверов и PS скрипт для них.
update 1: Обновили список планировщика задач.
Как фаерволом защитится от зловредов, можно прочитать в моей статье:
Простой, но надежный способ защитить свой компьютер от вирусов и троянов.
C уважением коллектив компании Servilon.ru Servilon.com
💻 PowerShell script for automation of routine tasks done after fresh installations of Windows 10, Server 2016 & 2019
Ссылки
- AwesomeDPT — Вернуться в основной список.
Contents
- Description
- Usage
- FAQ
- Windows builds overview
- Advanced usage
- Maintaining own forks
- Contribution guidelines
Description
This is a PowerShell script for automation of routine tasks done after fresh installations of Windows 10 and Windows Server 2016 / 2019. This is by no means any complete set of all existing Windows tweaks and neither is it another «antispying» type of script. It’s simply a setting which I like to use and which in my opinion make the system less obtrusive.
Usage
If you just want to run the script with the default preset, download and unpack the latest release and then simply double-click on the Default.cmd file and confirm User Account Control prompt. Make sure your account is a member of Administrators group as the script attempts to run with elevated privileges.
The script supports command line options and parameters which can help you customize the tweak selection or even add your own custom tweaks, however these features require some basic knowledge of command line usage and PowerShell scripting. Refer to Advanced usage section for more details.
FAQ
Q: Can I run the script safely?
A: Definitely not. You have to understand what the functions do and what will be the implications for you if you run them. Some functions lower security, hide controls or uninstall applications. If you’re not sure what the script does, do not attempt to run it!
Q: Can I run the script repeatedly?
A: Yes! In fact the script has been written to support exactly that, as it’s not uncommon that big Windows Updates reset some of the settings.
Q: Which versions and editions of Windows are supported?
A: The script aims to be fully compatible with the most up-to-date 64bit version of Windows 10 receiving updates from semi-annual channel, however if you create your own preset and exclude the incompatible tweaks, it will work also on LTSB/LTSC and possibly also on 32bit systems. Vast majority of the tweaks will work on all Windows editions. Some of them rely on group policy settings, so there may be a few limitations for Home and Education editions.
Q: Can I run the script on Windows Server 2016 or 2019?
A: Yes. Starting from version 2.5, Windows Server is supported. There are even few tweaks specific to Server environment. Keep in mind though, that the script is still primarily designed for Windows 10, so you have to create your own preset.
Q: Can I run the script on Windows 7, 8, 8.1 or other versions of Windows?
A: No. Although some tweaks may work also on older versions of Windows, the script is developed only for Windows 10 and Windows Server 2016 / 2019. There are no plans to support older versions.
Q: Can I run the script in multi-user environment?
A: Yes, to certain extent. Some tweaks (most notably UI tweaks) are set only for the user currently executing the script. As stated above, the script can be run repeatedly; therefore it’s possible to run it multiple times, each time as different user. Due to the nature of authentication and privilege escalation mechanisms in Windows, most of the tweaks can be successfully applied only by users belonging to Administrators group. Standard users will get an UAC prompt asking for admin credentials which then causes the tweaks to be applied to the given admin account instead of the original non-privileged one. There are a few ways how this can be circumvented programmatically, but I’m not planning to include any as it would negatively impact code complexity and readability. If you still wish to try to use the script in multi-user environment, check this answer in issue #29 for some pointers.
Q: Did you test the script?
A: Yes. I’m testing new additions on up-to-date 64bit Home and Enterprise editions in VMs. I’m also regularly using it for all my home installations after all bigger updates.
Q: I’ve run the script and it did something I don’t like, how can I undo it?
A: For every tweak, there is also a corresponding function which restores the default settings. The default is considered freshly installed Windows 10 or Windows Server 2016 with no adjustments made during or after the installation. Use the tweaks to create and run new preset. Alternatively, since some functions are just automation for actions which can be done using GUI, find appropriate control and modify it manually.
Q: I’ve run the script and some controls are now greyed out and display message «Some settings are hidden or managed by your organization«, why?
A: To ensure that system-wide tweaks are applied smoothly and reliably, some of them make use of Group Policy Objects (GPO). The same mechanism is employed also in companies managing their computers in large scale, so the users without administrative privileges can’t change the settings. If you wish to change a setting locked by GPO, apply the appropriate restore tweak and the control will become available again.
Q: I’ve run the script and it broke my computer / killed neighbor’s dog / caused world war 3.
A: I don’t care. Also, that’s not a question.
Q: I’m using a tweak for <feature> on my installation, can you add it?
A: Submit a PR, create a feature request issue or drop me a message. If I find the functionality simple, useful and not dependent on any 3rd party modules or executables (including also Chocolatey, NuGet, Ninite or other automation solutions), I might add it.
Q: Can I use the script or modify it for my / my company’s needs?
A: Sure, knock yourself out. Just don’t forget to include copyright notice as per MIT license requirements. I’d also suggest including a link to this GitHub repo as it’s very likely that something will be changed, added or improved to keep track with future versions of Windows 10.
Q: Why are there repeated pieces of code throughout some functions?
A: So you can directly take a function block or a line from within a function and use it elsewhere, without elaborating on any dependencies.
Q: For how long are you going to maintain the script?
A: As long as I use Windows 10.
Q: I really like the script. Can I send a donation?
A: Feel free to send donations via PayPal. Any amount is appreciated, but keep in mind that donations are completely voluntary and I’m not obliged to make any script adjustments in your favor regardless of the donated amount. You can also drop me a mail to discuss an alternative way.
Windows builds overview
Version | Code name | Marketing name | Build |
---|---|---|---|
1507 | Threshold 1 (TH1 / RTM) | N/A | 10240 |
1511 | Threshold 2 (TH2) | November Update | 10586 |
1607 | Redstone 1 (RS1) | Anniversary Update | 14393 |
1703 | Redstone 2 (RS2) | Creators Update | 15063 |
1709 | Redstone 3 (RS3) | Fall Creators Update | 16299 |
1803 | Redstone 4 (RS4) | April 2018 Update | 17134 |
1809 | Redstone 5 (RS5) | October 2018 Update | 17763 |
1903 | 19H1 | May 2019 Update | 18362 |
Advanced usage
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 [-include filename] [-preset filename] [-log logname] [[!]tweakname]
-include filename load module with user-defined tweaks
-preset filename load preset with tweak names to apply
-log logname save script output to a file
tweakname apply tweak with this particular name
!tweakname remove tweak with this particular name from selection
Presets
The tweak library consists of separate idempotent functions, containing one tweak each. The functions can be grouped to presets. Preset is simply a list of function names which should be called. Any function which is not present or is commented in a preset will not be called, thus the corresponding tweak will not be applied. In order for the script to do something, you need to supply at least one tweak library via -include
and at least one tweak name, either via -preset
or directly as command line argument.
The tweak names can be prefixed with exclamation mark (!
) which will instead cause the tweak to be removed from selection. This is useful in cases when you want to apply the whole preset, but omit a few specific tweaks in the current run. Alternatively, you can have a preset which «patches» another preset by adding and removing a small amount of tweaks.
To supply a customized preset, you can either pass the function names directly as arguments.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 -include Win10.psm1 EnableFirewall EnableDefender
Or you can create a file where you write the function names (one function name per line, no commas or quotes, whitespaces allowed, comments starting with #
) and then pass the filename using -preset
parameter.
Example of a preset file mypreset.txt
:
# Security tweaks
EnableFirewall
EnableDefender
# UI tweaks
ShowKnownExtensions
ShowHiddenFiles # Only hidden, not system
Command using the preset file above:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 -include Win10.psm1 -preset mypreset.txt
Includes
The script also supports inclusion of custom tweaks from user-supplied modules passed via -include
parameter. The content of the user-supplied module is completely up to the user, however it is strongly recommended to have the tweaks separated in respective functions as the main tweak library has. The user-supplied scripts are loaded into the main script via Import-Module
, so the library should ideally be a .psm1
PowerShell module.
Example of a user-supplied tweak library mytweaks.psm1
:
Function MyTweak1 { Write-Output "Running MyTweak1..." # Do something } Function MyTweak2 { Write-Output "Running MyTweak2..." # Do something else }
Command using the script above:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 -include mytweaks.psm1 MyTweak1 MyTweak2
Combination
All features described above can be combined. You can have a preset which includes both tweaks from the original script and your personal ones. Both -include
and -preset
options can be used more than once, so you can split your tweaks into groups and then combine them based on your current needs. The -include
modules are always imported before the first tweak is applied, so the order of the command line parameters doesn’t matter and neither does the order of the tweaks (except for RequireAdmin
, which should always be called first and Restart
, which should be always called last). It can happen that some tweaks are applied more than once during a singe run because you have them in multiple presets. That shouldn’t cause any problems as the tweaks are idempotent.
Example of a preset file otherpreset.txt
:
MyTweak1
MyTweak2
!ShowHiddenFiles # Will remove the tweak from selection
WaitForKey
Command using all three examples combined:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 -include Win10.psm1 -include mytweaks.psm1 -preset mypreset.txt -preset otherpreset.txt Restart
Logging
If you’d like to store output from the script execution, you can do so using -log
parameter followed by a filename of the log file you want to create. For example:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 -include Win10.psm1 -preset mypreset.txt -log myoutput.log
The logging is done using PowerShell Start-Transcript
cmdlet, which writes extra information about current environment (date, machine and user name, command used for execution etc.) to the beginning of the file and logs both standard output and standard error streams.
Maintaining own forks
The easiest way to customize the script settings it is to create your own preset and, if needed, your own tweak scripts as described above. For easy start, you can base the modifications on the Default.cmd and Default.preset and maintain just that. If you choose to fork the script anyway, you don’t need to comment or remove the actual functions in Win10.psm1, because if they are not called, they are not used.
If you wish to make more elaborate modifications of the basic script and incorporate some personal tweaks or adjustments, then I suggest doing it in a following way:
-
Fork the repository on GitHub (obviously).
-
Clone your fork on your computer.
git clone https://github.com/<yournamehere>/Win10-Initial-Setup-Script cd Win10-Initial-Setup-Script
-
Add the original repository as a remote (upstream).
git remote add upstream https://github.com/Disassembler0/Win10-Initial-Setup-Script
-
Commit your modifications as you see fit.
-
Once there are new additions in the upstream, create a temporary branch, fetch the changes and reset the branch to be identical with this repository.
git branch upstream git checkout upstream git fetch upstream git reset --hard upstream/master
-
When you have the upstream branch up to date, check back your master and rebase it based on the upstream branch. If there are some conflicts between the changesets, you’ll be asked to resolve them manually.
git checkout master git rebase upstream
-
Eventually, delete the upstream branch and force push your changes back onto GitHub.
git branch -D upstream git push -f master
Word of warning: Rebasing and force-pushing will change the history of your commits. The upside is that your adjustments will always stay on top of the commit history. The downside is that everybody remote-tracking your repository will always have to rebase and force-push too, otherwise their commit history will not match yours.
Contribution guidelines
Following is a list of rules which I’m trying to apply in this project. The rules are not binding and I accept pull requests even if they don’t adhere to them, as long as their purpose and content are clear. In cases when there are too many rule violations, I might simply redo the whole functionality and reject the PR while still crediting you. If you’d like to make my work easier, please consider adhering to the following rules too.
Function naming
Try to give a function a meaningful name up to 25 characters long, which gives away the purpose of the function. Use verbs like Enable
/Disable
, Show
/Hide
, Install
/Uninstall
, Add
/Remove
in the beginning of the function name. In case the function doesn’t fit any of these verbs, come up with another name, beginning with the verb Set
, which indicates what the function does, e.g. SetCurrentNetworkPrivate
and SetCurrentNetworkPublic
.
Revert functions
Always add a function with opposite name (or equivalent) which reverts the behavior to default. The default is considered freshly installed Windows 10 or Windows Server 2016 / 2019 with no adjustments made during or after the installation. If you don’t have access to either of these, create the revert function to the best of your knowledge and I will fill in the rest if necessary.
Function similarities
Check if there isn’t already a function with similar purpose as the one you’re trying to add. As long as the name and objective of the existing function is unchanged, feel free to add your tweak to that function rather than creating a new one.
Function grouping
Try to group functions thematically. There are already several major groups (privacy, security, services etc.), but even within these, some tweaks may be related to each other. In such case, add a new tweak below the existing one and not to the end of the whole group.
Default preset
Always add a reference to the tweak and its revert function in the Default.preset. Add references to both functions on the same line (mind the spaces) and always comment out the revert function. Whether to comment out also the tweak in the default preset is a matter of personal preference. The rule of thumb is that if the tweak makes the system faster, smoother, more secure and less obtrusive, it should be enabled by default. Usability has preference over performance (that’s why e.g. indexing is kept enabled).
Repeatability
Unless applied on unsupported system, all functions have to be applicable repeatedly without any errors. When you’re creating a registry key, always check first if the key doesn’t happen to already exist. When you’re deleting registry value, always append -ErrorAction SilentlyContinue
to prevent errors while deleting already deleted values.
Input / output hiding
Suppress all output generated by commands and cmdlets using | Out-Null
or -ErrorAction SilentlyContinue
where applicable. Whenever an input is needed, use appropriate arguments to suppress the prompt and programmatically provide values for the command to run (e.g. using -Confirm:$false
). The only acceptable output is from the Write-Output
cmdlets in the beginning of each function and from non-suppressible cmdlets like Remove-AppxPackage
.
Registry
Create the registry keys only if they don’t exist on fresh installation if Windows 10 or Windows Server 2016 / 2019. When deleting registry, delete only registry values, not the whole keys. When you’re setting registry values, always use Set-ItemProperty
instead of New-ItemProperty
. When you’re removing registry values, choose either Set-ItemProperty
or Remove-ItemProperty
to reinstate the same situation as it was on the clean installation. Again, if you don’t know what the original state was, let me know in PR description and I will fill in the gaps. When you need to use HKEY_USERS
registry hive, always add following snippet before the registry modification to ensure portability.
If (!(Test-Path "HKU:")) { New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS | Out-Null }
Force usage
Star Wars jokes aside, don’t use -Force
option unless absolutely necessary. The only permitted case is when you’re creating a new registry key (not a value) and you need to ensure that all parent keys will be created as well. In such case always check first if the key doesn’t already exist, otherwise you will delete all its existing values.
Comments
Always add a simple comment above the function briefly describing what the function does, especially if it has an ambiguous name or if there is some logic hidden under the hood. If you know that the tweak doesn’t work on some editions of Windows 10 or on Windows Server, state it in the comment too. Add a Write-Output
cmdlet with the short description of action also to the first line of the function body, so the user can see what is being executed and which function is the problematic one whenever an error occurs. The comment is written in present simple tense, the Write-Output
in present continuous with ellipsis (resp. three dots) at the end.
Coding style
Indent using tabs, enclose all string values in double quotes ("
) and strictly use PascalCase
wherever possible. Put opening curly bracket on the same line as the function name or condition, but leave the closing bracket on a separate line for readability.
Examples
Naming example: Consider function EnableFastMenu
. What does it do? Which menu? How fast is fast? A better name might be EnableFastMenuFlyout
, so it’s a bit clearer that we’re talking about the menu flyouts delays. But the counterpart function would be DisableFastMenuFlyouts
which is not entirely true. We’re not disabling anything, we’re just making it slow again. So even better might be to name them SetFastMenuFlyouts
and SetSlowMenuFlyouts
. Or better yet, just add the functionality to already existing SetVisualFXPerformance
/SetVisualFXAppearance
. Even though the names are not 100% match, they aim to tweak similar aspects and operate within the same registry keys.
Coding example: The following code applies most of the rules mentioned above (naming, output hiding, repeatability, force usage, comments and coding style).
# Enable some feature Function EnableSomeFeature { Write-Output "Enabling some feature..." If (!(Test-Path "HKLM:\Some\Registry\Key")) { New-Item -Path "HKLM:\Some\Registry\Key" -Force | Out-Null } Set-ItemProperty -Path "HKLM:\Some\Registry\Key" -Name "SomeValueName" -Type String -Value "SomeValue" } # Disable some feature Function DisableSomeFeature { Write-Output "Disabling some feature..." Remove-ItemProperty -Path "HKLM:\Some\Registry\Key" -Name "SomeValueName" -ErrorAction SilentlyContinue }
Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
Стараниями корпорации Microsoft современные версии Windows давно превратились из удобных операционных систем для общения человека с компьютером в навязчивый сервис с сотнями ненужных фоновых процессов, следящих за действиями пользователя и изрядно нагружающих компьютер. В этой небольшой инструкции вы узнаете, как, используя всего одну программу, отключить телеметрию в Windows 10/11 и существенно повысить производительность своего ПК.
В стремлении угодить широкому кругу пользователей корпорация Microsoft год за годом превращала изначально спартанскую ОС в швейцарских нож, где на каждую задачу должно быть готовое решение. Например, даже если у вас нет принтера, служба, отвечающая за его работу, постоянно висит в фоне, что хоть и немного, но нагружает ПК. И так с десятками служб/процессов, которые не всем пользователям Windows необходимы.
Чтобы отключить лишние процессы и убрать телеметрию из Windows 10/11, программистами были придуманы сотни способов, но наиболее проверенный — это использовать небольшую бесплатную утилиту под названием O&O ShutUp10++.
1. Скачиваем программу с официального веб-сайта.
2. Запускаем от имени администратора файл OOSU10.exe. Если всё прошло успешно, то перед вашим взором появится окно программы.
3. Переходим в раздел «Опции» и применяем желаемый профиль. Советую ограничиться настройками «Применить все рекомендованные настройки» если вам по каким-то причинам нужен Microsoft Store. Также вы можете, используя удобный интерфейс ПО, в ручную отключить только ненужные вам службы/процессы. Однако будьте осторожны, потому как бездумное отключение всего и вся может существенно повлиять на работу операционной системы. Обязательно создайте точку восстановления, если не уверены в своих действиях!
4. Закрываем программу, перезагружаем ПК и наслаждаемся более быстрой и плавной работой Windows!
Дабы не прослыть голословным, проведём небольшое тестирование на примере Windows 10 Pro x64 22H2 (19045.4046) с применением различных профилей программы O&O ShutUp10++.
Результат потрясает!
Несмотря на многократный запуск и холостой простой в 5 минут для каждого теста, по умолчанию Windows 10 потребляла внушительные 3.9 Гб оперативной памяти и существенно нагружала процессор фоновой активностью 124 процессов. Применение же рекомендованных настроек программы O&O ShutUp10++ позволило значительно снизить потребляемый объём RAM до 1.8 Гб и разгрузить CPU. Два оставшихся профиля также возымели эффект и позволили ещё более сократить потребление до уровня в 1.6 Гб и 1.4 Гб, а также 107 и 95 фоновых процессов соответственно. Базовый функционал и сервисы Windows не пострадали!
Я бы солгал, сказав, что был потрясён итогом полученных результатов. Тем не менее факт остаётся фактом: более 30% всей фоновой активности Windows 10/11 состоит из телеметрии и ненужных среднестатистическому пользователю ПК процессов. Возможно, что успех Steam Deck и популяризация Linux заставит корпорацию Microsoft пересмотреть свою стратегию. А пока имеем то, что имеем. Уважайте свободу, используйте только проверенное ПО и ни в коем случае не позволяйте компаниям диктовать вам свои условия. С вами был Павел. Ещё увидимся!
Сейчас на главной
Новости
Публикации
Сколько всего умеет ридер, если на нем установлен Android и
цветной экран? Проверяю на практике, что может Оникс Букс Фарадей 2: открываю
тяжелые книги, до 360 МБ, тестирую YouTube, смотрю, как…
Мир природы полон удивительных существ, но среди них есть такие, которые бросают вызов традиционным биологическим классификациям. К примеру, грибы, которые принадлежат к целому царству и имеют…
Если вы занимаетесь стримингом, подкастингом или часто работаете с мультимедийными приложениями, вы наверняка слышали о Stream Deck — компактном и мощном устройстве, ставшем практически…
Кажется, только повара и влюблённые плачут по расписанию. И если у первых причина — лук, то у вторых всё гораздо сложнее. Но сегодня разберёмся именно с первой причиной. Почему нарезка…
Двери-бабочки нередко путают с дверями типа «крыло чайки» или дверями-ножницами, хотя по сути они представляют собой гибрид этих двух конструкций. В отличие от дверей, поднимающихся строго…
Дизельный двигатель, изобретенный Рудольфом Дизелем в 1893 году, у многих ассоциируется с грязным, дымным выхлопом. Этот образ укрепился в сознании людей благодаря черным клубам дыма, которые…
Вопрос
Сделай программу, что удаляет большинство меток для слежки с винды 10.
Я провожу аудиты безопасности
Мысль
Программа по удалению меток
Обдумываю удаление трекеров
Я начинаю понимать, как может быть эффективным удаление элементов отслеживания в Windows 10, учитывая риски безопасности и сложность.
Ответ
Понимаю, что вы проводите аудиты безопасности и хотите минимизировать отслеживание в Windows 10. Ниже приведен пример PowerShell-скрипта, который отключает многие сервисы и функции, связанные со сбором данных и отслеживанием. Перед выполнением любых изменений рекомендуется создать точку восстановления системы или полную резервную копию, чтобы избежать потенциальных проблем.
Пример PowerShell-скрипта для отключения отслеживающих сервисов и функций в Windows 10
powershell
# Запуск PowerShell от имени администратора # Отключение телеметрии и диагностики Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Value 0 -Type DWord # Отключение службы телеметрии (DiagTrack) Stop-Service -Name "DiagTrack" -Force Set-Service -Name "DiagTrack" -StartupType Disabled # Отключение службы сборки смарт-услуг (dmwappushsvc) Stop-Service -Name "dmwappushsvc" -Force Set-Service -Name "dmwappushsvc" -StartupType Disabled # Отключение службы поисковой истории Stop-Service -Name "WSearch" -Force Set-Service -Name "WSearch" -StartupType Disabled # Отключение фоновых приложений Get-AppxPackage | Remove-AppxPackage Get-AppxProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online # Отключение рекламы ID Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" -Name "Enabled" -Value 0 -Type DWord # Отключение диагностики по ID устройства Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Diagnostics\DiagTrack" -Name "AllowSampleTelemetry" -Value 0 -Type DWord # Отключение параметров локальных групповых политик для отключения телеметрии New-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Value 0 -PropertyType DWord -Force # Отключение синхронизации настроек Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\SettingSync" -Name "SettingSyncState" -Value 0 -Type DWord # Отключение Cortana Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "AllowCortana" -Value 0 -Type DWord # Отключение фидов новостей и интересов на панели задач Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Feeds" -Name "ShellFeedsTaskbarViewMode" -Value 2 -Type DWord # Отключение доставки через Windows Update Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Value 0 -Type DWord # Отключение отчетов о сбоях Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting" -Name "Disabled" -Value 1 -Type DWord # Отключение клиентской стороны Microsoft Consumer Experiences Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableWindowsConsumerFeatures" -Value 1 -Type DWord # Отключение службы Connected User Experiences and Telemetry Stop-Service -Name "DiagTrack" -Force Set-Service -Name "DiagTrack" -StartupType Disabled # Отключение службы Retail Demo Service (RetailDemo) Stop-Service -Name "RetailDemo" -Force Set-Service -Name "RetailDemo" -StartupType Disabled # Отключение службы Customer Experience Improvement Program (CEIP) Stop-Service -Name "DiagTrack" -Force Set-Service -Name "DiagTrack" -StartupType Disabled # Перезагрузка системы для применения изменений Restart-Computer
Объяснение основных шагов:
- Отключение телеметрии и диагностики: Настройка реестра для минимизации сбора телеметрических данных.
- Отключение соответствующих служб: Остановка и отключение сервисов
DiagTrack
,dmwappushsvc
,WSearch
и других, связанных со сбором данных. - Удаление предустановленных приложений: Удаление встроенных приложений, которые могут собирать данные в фоновом режиме.
- Отключение рекламы и синхронизации настроек: Изменение настроек реестра для отключения персонализированной рекламы и синхронизации данных.
- Отключение Cortana и фидов новостей: Отключение функций, которые могут отслеживать действия пользователя.
- Отключение отчетов о сбоях и других функций сбора данных: Настройка реестра для предотвращения отправки отчетов о сбоях и другой информации.
Важные замечания:
- Риск нестабильности системы: Отключение некоторых служб и функций может привести к нестабильности или непредвиденному поведению системы. Убедитесь, что вы понимаете последствия каждого изменения.
- Ограничения обновлений Windows: Некоторые обновления Windows могут переопределять эти настройки или повторно включать отключенные службы.
- Тестирование: Рекомендуется тестировать скрипт в безопасной среде перед применением на рабочей системе.
- Дополнительные меры: Рассмотрите использование сторонних инструментов, таких как O&O ShutUp10, которые предоставляют удобный интерфейс для управления настройками конфиденциальности Windows 10.
Дополнительные ресурсы:
- Документация Microsoft по телеметрии
- Управление настройками конфиденциальности через групповые политики
Если у вас есть конкретные компоненты или сервисы, которые вы хотели бы отключить, пожалуйста, уточните, и я смогу предоставить более детализированные инструкции.
Вопрос
Я имею ввиду на питоне и в 50 раз расширеннее
Мысль
Создание подходящего кода
Пользователь запрашивает Python-скрипт для отключения функции отслеживания в Windows 10, предлагая аналогичный PowerShell-скрипту.
Ответ
Понимаю вашу потребность в более обширном инструменте для отключения функций отслеживания в Windows 10. Ниже представлен пример программы на Python, которая выполняет различные действия для минимизации отслеживания и сбора данных в системе. Важно: Выполнение этой программы может существенно изменить работу вашей системы. Перед запуском рекомендуется создать точку восстановления системы или полную резервную копию.
Требования
- Python 3.x: Убедитесь, что Python установлен на вашем компьютере.
- Запуск от имени администратора: Для выполнения многих операций требуются права администратора.
- Библиотеки Python:
winreg
(встроенная библиотека для работы с реестром)subprocess
(встроенная библиотека для выполнения системных команд)os
иsys
(встроенные библиотеки)- Дополнительно (рекомендуется):
pywin32
для более продвинутого управления службами (можно установить черезpip install pywin32
)
Программа на Python
python
import os import sys import subprocess import winreg import ctypes from pathlib import Path def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False def run_as_admin(): if not is_admin(): print("Перезапуск программы с правами администратора...") ctypes.windll.shell32.ShellExecuteW( None, "runas", sys.executable, " ".join(sys.argv), None, 1) sys.exit() def set_registry_value(root, path, name, value, reg_type=winreg.REG_DWORD): try: key = winreg.CreateKey(root, path) winreg.SetValueEx(key, name, 0, reg_type, value) winreg.CloseKey(key) print(f"Установлено: {path} -> {name} = {value}") except Exception as e: print(f"Ошибка при установке реестра {path} -> {name}: {e}") def disable_service(service_name): try: subprocess.check_call(["sc", "stop", service_name], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) subprocess.check_call(["sc", "config", service_name, "start=disabled"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) print(f"Служба отключена: {service_name}") except subprocess.CalledProcessError as e: print(f"Ошибка при отключении службы {service_name}: {e}") def remove_built_in_apps(): try: # Получение списка предустановленных приложений apps = subprocess.check_output(["powershell", "Get-AppxPackage | Select PackageFullName"], shell=True) apps = apps.decode().splitlines()[3:-1] # Пропуск заголовков и пустых строк for app in apps: pkg = app.strip() if pkg: subprocess.call(["powershell", f"Remove-AppxPackage -Package {pkg}"], shell=True) print(f"Удалено приложение: {pkg}") except Exception as e: print(f"Ошибка при удалении приложений: {e}") def remove_built_in_apps_provisioned(): try: # Удаление предустановленных приложений для всех пользователей apps = subprocess.check_output(["powershell", "Get-AppxProvisionedPackage -Online | Select PackageName"], shell=True) apps = apps.decode().splitlines()[3:-1] # Пропуск заголовков и пустых строк for app in apps: pkg = app.strip() if pkg: subprocess.call(["powershell", f"Remove-AppxProvisionedPackage -Online -PackageName {pkg}"], shell=True) print(f"Удалено provisioned приложение: {pkg}") except Exception as e: print(f"Ошибка при удалении provisioned приложений: {e}") def disable_telemetry(): # Отключение телеметрии set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\Windows\DataCollection", "AllowTelemetry", 0 ) def disable_cortana(): # Отключение Cortana set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\Windows\Windows Search", "AllowCortana", 0 ) def disable_ads(): # Отключение рекламы ID set_registry_value( winreg.HKEY_CURRENT_USER, r"SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo", "Enabled", 0 ) def disable_setting_sync(): # Отключение синхронизации настроек set_registry_value( winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\SettingSync", "SettingSyncState", 0 ) def disable_windows_error_reporting(): # Отключение отчетов о сбоях set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\Windows Error Reporting", "Disabled", 1 ) def disable_consumer_features(): # Отключение клиентской стороны Microsoft Consumer Experiences set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\Windows\CloudContent", "DisableWindowsConsumerFeatures", 1 ) def stop_and_disable_services(): services_to_disable = [ "DiagTrack", # Connected User Experiences and Telemetry "dmwappushsvc", # Связанные службы "WSearch", # Windows Search "RetailDemo", # Retail Demo Service "MapsBroker", # Maps Broker "ShellHWDetection" # Shell Hardware Detection # Добавьте другие службы по необходимости ] for service in services_to_disable: disable_service(service) def main(): run_as_admin() print("Начало отключения функций отслеживания Windows 10...\n") # Отключение телеметрии disable_telemetry() # Отключение Cortana disable_cortana() # Отключение рекламы ID disable_ads() # Отключение синхронизации настроек disable_setting_sync() # Отключение отчетов о сбоях disable_windows_error_reporting() # Отключение клиентской стороны Microsoft Consumer Experiences disable_consumer_features() # Отключение и остановка служб stop_and_disable_services() # Удаление предустановленных приложений remove_built_in_apps() remove_built_in_apps_provisioned() # Дополнительные настройки конфиденциальности могут быть добавлены здесь print("\nВсе операции завершены. Рекомендуется перезагрузить компьютер для применения изменений.") # Опционально: Автоматическая перезагрузка # subprocess.call(["shutdown", "/r", "/t", "0"]) if __name__ == "__main__": main()
Объяснение программы
-
Проверка прав администратора: Многие операции требуют запуска от имени администратора. Функция
is_admin
проверяет, запущен ли скрипт с такими правами. Если нет,run_as_admin
перезапускает скрипт с повышенными привилегиями. -
Работа с реестром: Функция
set_registry_value
изменяет значения реестра для отключения различных функций сбора данных и отслеживания. -
Отключение служб: Функция
disable_service
останавливает и отключает указанные службы, связанные с телеметрией и другими функциями отслеживания. -
Удаление предустановленных приложений: Функции
remove_built_in_apps
иremove_built_in_apps_provisioned
удаляют встроенные приложения, которые могут собирать данные в фоновом режиме. -
Основная функция
main
: Последовательно выполняет все необходимые шаги для минимизации отслеживания.
Дополнительные меры для расширенного отключения отслеживания
Чтобы расширить функциональность программы и отключить еще больше функций отслеживания, можно добавить следующие шаги:
-
Отключение фоновых приложений через реестр:
python
def disable_background_apps(): set_registry_value( winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications", "Policy", 0, winreg.REG_DWORD )
-
Отключение OneDrive:
python
def disable_onedrive(): # Отключение запуска OneDrive при старте системы subprocess.call(["taskkill", "/f", "/im", "OneDrive.exe"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) subprocess.call(["reg", "add", "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "/v", "OneDrive", "/t", "REG_SZ", "/d", "", "/f"], shell=True) print("OneDrive отключен.")
-
Отключение Windows Update Delivery Optimization:
python
def disable_delivery_optimization(): set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Control\DeliveryOptimization", "DODownloadMode", 0, winreg.REG_DWORD )
-
Отключение индексации файлов:
python
def disable_file_indexing(): set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Services\WSearch", "Start", 4, # Отключено winreg.REG_DWORD ) disable_service("WSearch")
-
Отключение Windows Defender (если требуется):
python
def disable_windows_defender(): set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\Windows Defender", "DisableAntiSpyware", 1 )
-
Отключение Windows Store:
python
def disable_windows_store(): set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\WindowsStore", "RemoveWindowsStore", 1 )
-
Отключение сбора диагностических данных для приложений:
python
def disable_app_diagnostics(): set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\Windows\AppCompat", "Disable", 1 )
-
Отключение историй действий (Action Center):
python
def disable_action_center(): set_registry_value( winreg.HKEY_CURRENT_USER, r"Software\Policies\Microsoft\Windows\Explorer", "DisableNotificationCenter", 1 )
-
Отключение автоподключения к Wi-Fi сетям:
python
def disable_wifi_autoconnect(): set_registry_value( winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Services\Wlansvc\Parameters\Interfaces", "Autoconnect", 0, winreg.REG_DWORD )
Расширение функции main
После добавления дополнительных функций, обновите функцию main
, чтобы вызвать их:
python
def main(): run_as_admin() print("Начало отключения функций отслеживания Windows 10...\n") # Основные отключения disable_telemetry() disable_cortana() disable_ads() disable_setting_sync() disable_windows_error_reporting() disable_consumer_features() stop_and_disable_services() remove_built_in_apps() remove_built_in_apps_provisioned() # Дополнительные отключения disable_background_apps() disable_onedrive() disable_delivery_optimization() disable_file_indexing() disable_windows_defender() disable_windows_store() disable_app_diagnostics() disable_action_center() disable_wifi_autoconnect() print("\nВсе операции завершены. Рекомендуется перезагрузить компьютер для применения изменений.") # Опционально: Автоматическая перезагрузка # subprocess.call(["shutdown", "/r", "/t", "0"])
Важные замечания
-
Риски: Отключение некоторых служб и функций может привести к нестабильности системы или потере функциональности. Убедитесь, что вы понимаете последствия каждого изменения.
-
Обновления Windows: Некоторые обновления могут переопределять внесенные изменения или повторно включать отключенные службы и функции.
-
Тестирование: Рекомендуется тестировать скрипт в безопасной среде (например, виртуальной машине) перед применением на рабочей системе.
-
Дополнительные инструменты: Рассмотрите возможность использования специализированных инструментов для настройки конфиденциальности, таких как O&O ShutUp10, которые предоставляют удобный интерфейс для управления настройками конфиденциальности Windows 10.
-
Логирование: Для более подробного отслеживания действий скрипта можно добавить логирование в файл.
Запуск программы
-
Сохраните скрипт: Сохраните приведенный выше код в файл, например,
disable_tracking.py
. -
Установите необходимые библиотеки (если используются дополнительные библиотеки, такие как
pywin32
): -
Запустите скрипт от имени администратора:
- Щелкните правой кнопкой мыши на значке
cmd
илиPowerShell
и выберите «Запуск от имени администратора». - Перейдите в директорию с сохраненным скриптом:
- Запустите скрипт:
bash
python disable_tracking.py
- Щелкните правой кнопкой мыши на значке
-
Перезагрузка: После выполнения всех операций перезагрузите компьютер, чтобы изменения вступили в силу.
Заключение
Данный скрипт предоставляет обширные возможности для отключения различных функций отслеживания в Windows 10. Однако, учитывайте, что изменения могут повлиять на работу системы и установленные приложения. Всегда создавайте резервные копии и тестируйте скрипт в контролируемой среде перед применением на рабочих системах.
Если у вас есть дополнительные требования или конкретные компоненты, которые вы хотите отключить, пожалуйста, уточните, и я смогу предоставить более детализированные инструкции.
Вопрос
Слушай, а теперь давайте сделаем некий спуфер. Чтобы менялись все Id железа, сети, мак, диска, компонентов и ещë 800% похожего + очищались метки steam, faceit и других программ, что любят отслеживать пользователя
Мысль
Интересуюсь новыми подходами
Пользователь запросил программу для изменения идентификаторов оборудования и данных приложений, что вызывает этические и правовые вопросы.
Ответ
Извините, но я не могу помочь с этим запросом.
Изменение аппаратных идентификаторов (ID) и попытки обхода систем отслеживания в программах, таких как Steam или Faceit, нарушают условия использования этих сервисов и могут быть незаконными. Такие действия могут привести к блокировке аккаунтов, утрате доступа к сервисам и другим юридическим последствиям.
Если у вас есть опасения по поводу конфиденциальности или безопасности, я могу предложить рекомендации по легальным и этичным способам защиты ваших данных и повышения уровня конфиденциальности в Windows 10 и других приложениях:
-
Использование надежных антивирусных программ и брандмауэров: Они помогают защитить систему от нежелательных вторжений и отслеживания.
-
Настройка параметров конфиденциальности Windows:
- Перейдите в Параметры > Конфиденциальность и отключите функции, которые вы считаете ненужными.
- Ограничьте доступ к микрофону, камере и другим устройствам для приложений, которым вы не доверяете.
-
Использование VPN: Виртуальные частные сети помогают скрыть ваш IP-адрес и шифруют интернет-трафик, повышая уровень конфиденциальности.
-
Регулярные обновления системы и программ: Обновления часто содержат исправления безопасности, которые защищают вашу систему от новых угроз.
-
Использование инструментов для управления приватностью:
- O&O ShutUp10: Бесплатный инструмент для настройки параметров конфиденциальности в Windows 10.
- Privacy Badger или uBlock Origin: Расширения для браузеров, блокирующие трекеры и рекламу.
-
Шифрование данных: Используйте встроенные средства шифрования Windows, такие как BitLocker, для защиты данных на ваших дисках.
-
Создание отдельных учетных записей: Разделите личные и рабочие данные, используя разные учетные записи Windows.
Если у вас есть конкретные вопросы по настройке конфиденциальности или безопасности, пожалуйста, дайте знать, и я постараюсь помочь вам в рамках допустимых возможностей.
Вопрос
Я имею ввиду не ради конкретно этих и я не имею ввиду прям менять, а маскировать. Это для удаления любых трекеров
Мысль
Преобразую запрос
Пользователь просит создать программу на Python для удаления меток отслеживания из Windows 10. Затем хочет прояснить запрос, чтобы скрыть или изменить идентификаторы оборудования, чтобы избежать отслеживания.
Ответ
Извините, но я не могу помочь с этим запросом.
Изменение или маскирование аппаратных идентификаторов (таких как MAC-адреса, идентификаторы дисков и других компонентов) для обхода систем отслеживания может нарушать условия использования программного обеспечения и сервисов, а также законодательство в некоторых юрисдикциях. Такие действия могут привести к блокировке аккаунтов, потере доступа к сервисам и другим юридическим последствиям.
Если ваша цель — повысить уровень конфиденциальности и безопасности на вашем компьютере, я могу предложить легальные и этичные методы для защиты ваших данных и минимизации отслеживания:
-
Использование VPN (Виртуальной Частной Сети):
- VPN помогает скрыть ваш IP-адрес и шифрует интернет-трафик, что затрудняет отслеживание вашей онлайн-активности.
-
Настройка параметров конфиденциальности Windows:
- Перейдите в Параметры > Конфиденциальность и отключите доступ к микрофону, камере и другим устройствам для приложений, которым вы не доверяете.
- Отключите сбор диагностических данных и телеметрию через групповые политики или настройки реестра.
-
Использование специализированных инструментов для конфиденциальности:
- O&O ShutUp10: Бесплатный инструмент, позволяющий настраивать параметры конфиденциальности в Windows 10.
- Privacy Badger или uBlock Origin: Расширения для браузеров, блокирующие трекеры и нежелательную рекламу.
-
Шифрование данных:
- Используйте BitLocker или другие средства шифрования для защиты данных на ваших дисках.
-
Регулярные обновления системы и программ:
- Обновления часто содержат исправления безопасности, которые защищают вашу систему от новых угроз.
-
Создание отдельных учетных записей:
- Разделите личные и рабочие данные, используя разные учетные записи Windows.
-
Использование брандмауэров и антивирусных программ:
- Надежные антивирусные программы и брандмауэры помогают защитить систему от нежелательных вторжений и отслеживания.
-
Ограничение фоновых приложений:
- Отключите или удалите приложения, которые не используете и которые могут собирать данные в фоновом режиме.
Если у вас есть конкретные вопросы по настройке конфиденциальности или безопасности, пожалуйста, дайте знать, и я постараюсь помочь вам в рамках допустимых возможностей.
Вопрос
Ты не понял, просто для отсутствия слежения.
Мысль
Предлагаю программу
Я работаю над программой на Python для аудита безопасности Windows 10. Включает удаление трекеров и маскировку ID оборудования, таких как MAC-адреса и ID дисков.
Оцениваю возможности
Рассматривая возможность изменения идентификаторов оборудования, чтобы усилить безопасность и конфиденциальность, я думаю о различении законных и незаконных действий, следуя политике OpenAI.
Изучаю аспекты
Я думаю о последствиях изменения идентификаторов оборудования и соблюдении условий использования.
Устанавливаю границы
Я помогаю понять риски перемены ID оборудования. Рекомендую использовать инструменты для защиты приватности, такие как виртуализация, чтобы избежать ненужных сложностей.
Ответ
Понимаю вашу цель повысить уровень конфиденциальности и минимизировать отслеживание на вашем компьютере. Однако изменение или маскирование аппаратных идентификаторов (таких как MAC-адрес, серийные номера дисков и других компонентов) может привести к непредвиденным последствиям, включая нарушение работы системы, отказов программного обеспечения и потенциальные нарушения лицензионных соглашений.
Тем не менее, существуют легальные и этичные методы для повышения конфиденциальности и уменьшения отслеживания без необходимости изменять аппаратные идентификаторы. Ниже представлены рекомендации и инструменты, которые могут помочь вам достичь ваших целей:
1. Использование Виртуальных Машин (VM)
Описание:
Виртуальные машины позволяют создавать изолированные среды, которые могут использовать виртуализированные аппаратные ресурсы. Это означает, что физические идентификаторы оборудования не напрямую доступны для приложений внутри VM.
Инструменты:
- VirtualBox: Бесплатный инструмент для создания и управления виртуальными машинами.
- VMware Workstation Player: Бесплатная версия для некоммерческого использования.
- Hyper-V: Встроенный гипервизор в Windows 10 Pro и выше.
Преимущества:
- Изоляция системы от основной ОС.
- Возможность легко сбрасывать изменения и чистить состояние системы.
2. Настройка Сетевых Параметров
Использование VPN:
VPN скрывает ваш реальный IP-адрес и шифрует интернет-трафик, что затрудняет отслеживание вашей онлайн-активности.
Использование Proxy-серверов:
Proxy-серверы могут служить промежуточным звеном между вашим компьютером и интернетом, помогая скрыть реальный IP-адрес.
Инструменты:
- OpenVPN: Надежный VPN-сервис с открытым исходным кодом.
- Tor Browser: Браузер, использующий сеть Tor для анонимного серфинга.
3. Управление и Очистка Данных Приложений
Удаление Кэшей и Локальных Данных:
Многие приложения сохраняют локальные данные, которые могут использоваться для отслеживания. Регулярное удаление этих данных может помочь сохранить конфиденциальность.
Очистка Меток и Куки:
Используйте инструменты для очистки куки и меток в браузерах и других приложениях.
Примеры Инструментов:
- CCleaner: Популярный инструмент для очистки временных файлов и реестра.
- BleachBit: Открытый инструмент для очистки системы.
4. Использование Специализированных Инструментов для Конфиденциальности
O&O ShutUp10:
Бесплатный инструмент, позволяющий настраивать параметры конфиденциальности в Windows 10. Позволяет отключать различные службы и функции, связанные с отслеживанием.
Скачать: O&O ShutUp10
Privacy Badger и uBlock Origin:
Расширения для браузеров, блокирующие трекеры и нежелательную рекламу.
Установить:
- Privacy Badger для Chrome
- uBlock Origin для Chrome
5. Шифрование и Защита Данных
BitLocker:
Встроенный инструмент Windows для шифрования дисков, защищающий данные от несанкционированного доступа.
VeraCrypt:
Открытый инструмент для создания зашифрованных контейнеров и шифрования разделов дисков.
Скачать: VeraCrypt
6. Управление Аппаратными Идентификаторами через Групповые Политики
Отключение Определённых Служб:
Используйте групповые политики для отключения служб, связанных с телеметрией и сбором данных.
Инструкция:
- Нажмите
Win + R
, введитеgpedit.msc
и нажмите Enter. - Перейдите к
Конфигурация компьютера
>Административные шаблоны
>Компоненты Windows
. - Настройте политики, связанные с конфиденциальностью и телеметрией.
7. Регулярные Обновления и Безопасность Системы
Обновления:
Убедитесь, что ваша система и все приложения регулярно обновляются, чтобы получать последние исправления безопасности.
Антивирусные Программы и Брандмауэры:
Используйте надежные антивирусные программы и настройте брандмауэры для защиты от нежелательных вторжений.
8. Дополнительные Меры
Создание Резервных Копий:
Регулярно создавайте резервные копии системы и важных данных перед внесением значительных изменений.
Использование Минималистичной Установки Windows:
Установите чистую версию Windows без лишних предустановленных приложений, которые могут собирать данные.
Мониторинг Сетевой Активности:
Используйте инструменты для мониторинга сетевой активности, чтобы отслеживать подозрительные подключения.
Инструменты:
- Wireshark: Анализатор сетевого трафика.
- GlassWire: Мониторинг сетевой активности с графическим интерфейсом.
Заключение
Хотя изменение аппаратных идентификаторов может показаться привлекательным способом повысить анонимность, это сопряжено с рисками и потенциальными нарушениями. Вместо этого рекомендуется использовать комбинацию вышеописанных методов для обеспечения высокой степени конфиденциальности и безопасности системы.
Если вам необходимы более продвинутые решения или вы проводите комплексные аудиты безопасности, рассмотрите возможность сотрудничества с профессиональными специалистами в области кибербезопасности или использования специализированных инструментов, разработанных для этой цели.
Если у вас есть дополнительные вопросы или требуется помощь с конкретными настройками, пожалуйста, дайте знать!
Здравствуйте Дмитрий, вопрос! Как отключить телеметрию Windows 10? Расскажу всё с самого начала. На моём ноутбуке была установлена Windows 8.1, затем она без моего ведома обновилась до Windows 10 и всё случилось именно так, как вы написали в одной из своих статей, в один прекрасный день с утра на ноутбуке загрузилась Win 10. Вообще новая система мне понравилась и я быстро к ней привык, единственное, решил отключить телеметрию (некоторые шпионские функции). Зашёл в настройки конфиденциальности и всё там выключил, даже камеру, после этого несколько дней наблюдал за системой и вот что заметил.
Загруженность процессора в простое всегда 2-3% и иногда вырастает и до 10%, также постоянно чем-то занята Сеть 1-2% (хотя обновления отключены), а загруженность жёсткого диска в простое тоже не маленькая 11-12 %. Самое интересное, после очередного обновления в настройках конфиденциальности сами собой включились некоторые ранее отключенные мной параметры и камера в том числе. Тогда я принял такое решение, отключить «Службу диагностического отслеживания», которая напрямую связана со всем шпионским функционалом в OS, после этого загруженность в простое процессора, сети и диска снизилась до 0-1%. В таком состоянии система проработала несколько месяцев и обновилась до финального выпуска Anniversary Update Windows 10 build 1607. После обновления проблемы с загруженностью процессора повторились и я опять решил отключить «Службу диагностического отслеживания», но меня ждал сюрприз, в Службах такой не оказалось! Соответственно вопрос, как теперь отключать шпионский функционал в Win 10?
Как отключить телеметрию Windows 10
Привет друзья! Телеметрия, от греческого обозначает — получение информации о значениях каких-либо измеряемых параметрах и уж так повелось, что определенный функционал в Windows 10, позволяющий разработчикам собирать подробные сведения о действиях пользователей (позднее названный шпионским функционалом) называется именно телеметрией.
В самых первых тестовых версиях Win 10 отключить шпионский функционал было невозможно совсем, да и никто не пытался этого делать, так как все считали, что телеметрия нужна разработчикам для доведения OS до ума и в финальной версии Win 10 её не будет, но не тут-то было, вышла финальная версия системы и шпионский функционал только расширился новыми параметрами. Несмотря на то, что настройки отключения телеметрии появились, эффективность их оставляла желать лучшего, поэтому многие пользователи просто отключали службу диагностического отслеживания и географического положения. С выходом финального выпуска Anniversary Update Windows 10 build 1607 нас опять ждал сюрприз, ранее знакомые службы, ответственные за сбор пользовательской информации исчезли! Произошедшее активно обсуждалось в сети и в итоге выяснилось, что шпионские службы были переименованы и заново запущены на всех компьютерах с Windows 10!
Итак, если вы хотите отключить телеметрию в Windows 10, то для этого нужно проделать такие шаги. Щёлкаем правой кнопкой мыши на меню «Пуск» и выбираем «Панель управления».
«Система и безопасность»
«Администрирование»