Skip to content

Instantly share code, notes, and snippets.

@inoperable
Created August 4, 2023 14:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save inoperable/81957812bd00ff04e97504b35929e094 to your computer and use it in GitHub Desktop.
Save inoperable/81957812bd00ff04e97504b35929e094 to your computer and use it in GitHub Desktop.
# Put this into your PS profile, execute from cmd.exe:
# notepad.exe %USERPROFILE%\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
# notepad.exe %USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
# Because there is never enough Telemetry ...
function Telefucktry-Optout() {
# powershell telemetry
[System.Environment]::SetEnvironmentVariable("POWERSHELL_CLI_TELEMETRY_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("POWERSHELL_CLI_TELEMETRY_OPTOUT","1","User")
[System.Environment]::SetEnvironmentVariable("POWERSHELL_TELEMETRY_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("POWERSHELL_TELEMETRY_OPTOUT","1","User")
# powershell updatechecks
[System.Environment]::SetEnvironmentVariable("POWERSHELL_UPDATECHECK","Off","Machine")
[System.Environment]::SetEnvironmentVariable("POWERSHELL_UPDATECHECK","Off","User")
[System.Environment]::SetEnvironmentVariable("POWERSHELL_UPDATECHECK_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("POWERSHELL_UPDATECHECK_OPTOUT","1","User")
# pwsh telemetry
[System.Environment]::SetEnvironmentVariable("PWSH_CLI_TELEMETRY_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("PWSH_CLI_TELEMETRY_OPTOUT","1","User")
[System.Environment]::SetEnvironmentVariable("PWSH_TELEMETRY_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("PWSH_TELEMETRY_OPTOUT","1","User")
# pwsh updatechecks
[System.Environment]::SetEnvironmentVariable("PWSH_UPDATECHECK","Off","Machine")
[System.Environment]::SetEnvironmentVariable("PWSH_UPDATECHECK","Off","User")
[System.Environment]::SetEnvironmentVariable("PWSH_UPDATECHECK_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("PWSH_UPDATECHECK_OPTOUT","1","User")
# dotnet telemetry
[System.Environment]::SetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT","1","User")
[System.Environment]::SetEnvironmentVariable("DOTNET_TELEMETRY_OPTOUT","1","Machine")
[System.Environment]::SetEnvironmentVariable("DOTNET_TELEMETRY_OPTOUT","1","User")
# complus telemetry
[System.Environment]::SetEnvironmentVariable("COMPlus_EnableDiagnostics","0","Machine")
[System.Environment]::SetEnvironmentVariable("COMPlus_EnableDiagnostics","0","User")
# are you fucking kdding me ...
[String]$GlobalTeleDotnet = [System.Environment]::GetEnvironmentVariable("DOTNET_TELEMETRY_OPTOUT","Machine")
[String]$UserTeleDotnet = [System.Environment]::GetEnvironmentVariable("DOTNET_TELEMETRY_OPTOUT","User")
[String]$GlobalTelePowershell = [System.Environment]::GetEnvironmentVariable("POWERSHELL_TELEMETRY_OPTOUT","Machine")
[String]$UserTelePowershell = [System.Environment]::GetEnvironmentVariable("POWERSHELL_TELEMETRY_OPTOUT","User")
[String]$GlobalTelePowershellCli = [System.Environment]::GetEnvironmentVariable("POWERSHELL_CLI_TELEMETRY_OPTOUT","Machine")
[String]$UserTelePowershellCli = [System.Environment]::GetEnvironmentVariable("POWERSHELL_CLI_TELEMETRY_OPTOUT","User")
[String]$GlobalTelePwsh = [System.Environment]::GetEnvironmentVariable("PWSH_TELEMETRY_OPTOUT","Machine")
[String]$UserTelePwsh = [System.Environment]::GetEnvironmentVariable("PWSH_TELEMETRY_OPTOUT","User")
[String]$GlobalTelePwshCli = [System.Environment]::GetEnvironmentVariable("PWSH_CLI_TELEMETRY_OPTOUT","Machine")
[String]$UserTelePwshCli = [System.Environment]::GetEnvironmentVariable("PWSH_CLI_TELEMETRY_OPTOUT","User")
[String]$GlobalTeleDotnetCli = [System.Environment]::GetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT","Machine")
[String]$UserTeleDotnetCli = [System.Environment]::GetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT","User")
[String]$GlobalUpcheckPowershell = [System.Environment]::GetEnvironmentVariable("POWERSHELL_UPDATECHECK","Machine")
[String]$UserUpcheckPowershell = [System.Environment]::GetEnvironmentVariable("POWERSHELL_UPDATECHECK","User")
[String]$GlobalUpcheckPwsh = [System.Environment]::GetEnvironmentVariable("PWSH_UPDATECHECK_OPTOUT","Machine")
[String]$UserUpcheckPwsh = [System.Environment]::GetEnvironmentVariable("PWSH_UPDATECHECK_OPTOUT","User")
[String]$GlobalComPlusDiag = [System.Environment]::GetEnvironmentVariable("COMPlus_EnableDiagnostics","Machine")
[String]$UserComPlusDiag = [System.Environment]::GetEnvironmentVariable("COMPlus_EnableDiagnostics","User")
Write-Host "`n
DOTNET_TELEMETRY_OPTOUT `tMachine $GlobalTeleDotnet`tUser $UserTeleDotnet
POWERSHELL_TELEMETRY_OPTOUT `tMachine $GlobalTelePowershell`tUser $UserTelePowershell
POWERSHELL_CLI_TELEMETRY_OPTOUT `tMachine $GlobalTelePowershellCli`tUser $UserTelePowershellCli
PWSH_TELEMETRY_OPTOUT `tMachine $GlobalTelePwsh`tUser $UserTelePwsh
PWSH_CLI_TELEMETRY_OPTOUT `tMachine $GlobalTelePwshCli`tUser $UserTelePwshCli
DOTNET_CLI_TELEMETRY_OPTOUT `tMachine $GlobalTeleDotnetCli`tUser $UserTeleDotnetCli
POWERSHELL_UPDATECHECK `tMachine $GlobalUpcheckPowershell`tUser $UserUpcheckPowershell
PWSH_UPDATECHECK_OPTOUT `tMachine $GlobalUpcheckPwsh`tUser $UserUpcheckPwsh
COMPlus_EnableDiagnostics `tMachine $GlobalComPlusDiag`tUser $UserComPlusDiag";
}
@inoperable
Copy link
Author

Hopefully that covers all of opt out possibilities

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment