Skip to content

Instantly share code, notes, and snippets.

@inoperable
Created August 4, 2023 14:34
Show Gist options
  • Select an option

  • Save inoperable/81957812bd00ff04e97504b35929e094 to your computer and use it in GitHub Desktop.

Select an option

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
Copy Markdown
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