Skip to content

Instantly share code, notes, and snippets.

@inoperable
Created August 4, 2023 14:34
Show Gist options
  • Save inoperable/81957812bd00ff04e97504b35929e094 to your computer and use it in GitHub Desktop.
Save inoperable/81957812bd00ff04e97504b35929e094 to your computer and use it in GitHub Desktop.

Revisions

  1. inoperable created this gist Aug 4, 2023.
    65 changes: 65 additions & 0 deletions Telefucktry-Optout.ps1
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,65 @@
    # 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";
    }