Recently a minor discussion started with one of my Facebook friends, where people found the new data collecting engines from Microsoft a bit annoying. Personally I find that Windows 10 has alot more features and stability to offer, and that these settings should not be the reason for you to hold back on a better operating system. However I do understand some people’s concerns.
Example article: http://lifehacker.com/what-windows-10s-privacy-nightmare-settings-actually-1722267229
This made me think, there should be a way to just quickly disable all those annoyances. Below you can find the result of a quick Posh script that takes care this for you.
DisablePrivacySettings_Win10.ps1
########################################################################### ## Created by Danny den Braver @29-08-2015 ## ## I primary made this script due to a minor discussion that started on FB about the Windows 10 Privacy 'flaws' ## This script will disable most of the 'features' that microsoft uses to gain privacy sensitive data ## ## Currently this script disables Telemetry and DataCollection, Wifi Sense, SmartScreen Filter & Cortana ########################################################################## #region Disable Telemetry and Data Collection Write-Verbose -Message 'Disabling: Telemetry and Data Collection' -Verbose # Create registry key to disable Telemetry New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name AllowTelemetry -Value '0' -PropertyType DWord -Force | Out-Null # Disabling & Stopping service DiagTrack Set-Service -name DiagTrack -StartupType Disabled Stop-Service DiagTrack # Disabling & Stopping App Push Service Set-Service -name dmwappushservice -StartupType Disabled Stop-Service dmwappushservice #endregion #region Disable Wifi-Sense (Wifi Sharing) Write-Verbose -Message 'Disabling: Wifi-Sense (Wifi Sharing)' -Verbose # Create Registry key into policy to disable Wi-fi Sense New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WcmSvc\wifinetworkmanager\config" -Name AutoConnectAllowedOEM -Value '0' -PropertyType DWord -Force | Out-Null #endregion #region Disable SmartScreen Filter Write-Verbose -Message 'Disabling: SmartScreen Filter' -Verbose # Create Registry key into policy to disable Microsoft SmartScreen New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System" -Name EnableSmartScreen -Value '0' -PropertyType DWord -Force | Out-Null #endregion #region Disable Cortana # Read current user $whoami = whoami $domain = ($whoami).split("\")[0] $username = ($whoami).split("\")[1] if (Test-Path 'C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\SearchUI.exe') { Write-Verbose -Message 'Disabling: Cortana' -Verbose # Change permissions on Cortana folder & executable $objUser = New-Object System.Security.Principal.NTAccount($domain, $username) $objFile = Get-Acl 'C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\SearchUI.exe' $objFile.SetOwner($objUser) Set-Acl -aclobject $objFile -path 'C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\SearchUI.exe' Set-Acl -aclobject $objFile -path 'C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy' icacls 'C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\SearchUI.exe' /grant "$($whoami):(OI)(CI)F" icacls 'C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy' /grant "$($whoami):(OI)(CI)F" # Rename Cortana Executable so it no longer starts Rename-Item 'C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\SearchUI.exe' 'Disabled.SearchUI.exe' } else { Write-Verbose -Message 'Check: Cortana was already disabled' -Verbose } #endregion Write-Warning -Message 'Please be aware that you will need to restart your computer for settings to take effect'