public/Set-DsWindowsTelemetry.ps1
function Set-DsWindowsTelemetry { <# .SYNOPSIS Set-DsWindowsTelemetry .DESCRIPTION Disable Windows 10 Telemetry Collection and Upload Disable Connected User Experiences service, and WAP Push service .PARAMETER State Enable or Disable .LINK https://github.com/Skatterbrainz/ds-utils/blob/master/docs/Disable-DsWindowsTelemetry.md #> [CmdletBinding()] [OutputType()] param ( [parameter(Mandatory)] [ValidateSet('Enable','Disable')][string] $State ) try { Write-DsLog -Message "setting windows telemetry to $State" if ($State -eq 'Disable') { New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection' -Name 'AllowTelemetry' -ItemType DWORD -Value 0 -Force Get-Service -Name "diagtrack" | Stop-Service -Force -ErrorAction SilentlyContinue Set-Service -Name "diagtrack" -StartupType "Disabled" -ErrorAction SilentlyContinue Set-Service -Name "dmwappushsvc" -StartupType "Disabled" -ErrorAction SilentlyContinue } else { New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection' -Name 'AllowTelemetry' -ItemType DWORD -Value 1 -Force Set-Service -Name "diagtrack" -StartupType "Manual" -ErrorAction SilentlyContinue Set-Service -Name "dmwappushsvc" -StartupType "Manual" -ErrorAction SilentlyContinue } } catch { Write-DsLog -Message $Error[0].Exception.Message -Category Error } } |