about_Telemetry

Breve descrição

Descreve a telemetria coletada no PowerShell e como desativar.

Descrição longa

O PowerShell envia dados básicos de telemetria para a Microsoft usando o Application Insights. Esses dados nos permitem entender melhor os ambientes que usam o PowerShell e nos permitem priorizar novos recursos e correções. O PowerShell anonimiza as informações de telemetria antes de enviar.

O PowerShell envia as seguintes informações na inicialização:

  • O fabricante, o nome e a versão do sistema operacional
  • A versão do PowerShell
  • O valor da variável de ambiente POWERSHELL_DISTRIBUTION_CHANNEL
  • A versão do SDK do Application Insights usada pelo PowerShell
  • A localização geográfica do host, com base no endereço IP
  • Os parâmetros passados para pwsh sem os valores dos parâmetros
  • A configuração de Política de Execução da sessão atual
  • Um GUID gerado aleatoriamente representando o usuário que executa a instância
  • Um GUID gerado aleatoriamente representando a instância da sessão

Os dados de telemetria de inicialização são coletados somente ao iniciar o pwsh executável. Essas informações não serão enviadas se o mecanismo do PowerShell estiver incorporado em algum outro aplicativo host.

Nota

O Application Insights usa o endereço IP dos hosts para determinar a localização geográfica. O endereço IP nunca é incluído nos dados de telemetria ou armazenado no banco de dados. Para obter mais informações, consulte Geolocalização e manipulação de endereços IP.

O PowerShell envia as seguintes informações durante a sessão:

  • A contagem de chamadas para a PowerShell.Create() API
  • Os nomes e versões dos módulos de propriedade da Microsoft importados
  • A contagem de módulos importados que têm a CrescendoBuilt tag
  • Os nomes dos recursos experimentais habilitados
  • Os nomes dos recursos experimentais desativados
  • Valor da variável de $PSNativeCommandUseErrorActionPreference preferência, ou true, false ou unset
  • A contagem de operações de abertura de sessão remota
  • Os nomes dos subsistemas registados: Completion e general. Se o nome do subsistema não for um desses, então anonymous é enviado como o nome.
  • A contagem de sugestões de CommandNotFound feedback fornecidas.
  • A contagem de PowerShellUnsafeAssemblyLoad uso e se a carga foi bem-sucedida ou não.

A $Env:POWERSHELL_DISTRIBUTION_CHANNEL variável de ambiente é definida pelos pacotes do instalador para registrar o método e a origem da instalação do PowerShell. Como essas informações estão incluídas nos dados de telemetria enviados à Microsoft, os usuários não devem alterar esse valor.

O PowerShell envia esta informação periodicamente durante a vida útil da sessão para todas as aplicações anfitriãs em todas as plataformas.

Desativar telemetria

Existem duas formas de desativar o envio de telemetria.

  • Em todas as plataformas, defina a variável $Env:POWERSHELL_TELEMETRY_OPTOUT de ambiente para true, yes, ou 1. Para que essa variável de ambiente tenha efeito, ela deve ser definida antes de iniciar o processo do PowerShell. Para obter mais informações, consulte about_Environment_Variables.

  • A partir do PowerShell 7.5.7 no Windows, o PowerShell respeita a definição Diagnostics & feedback em Windows. Use os seguintes passos para desativar a telemetria no Windows.

    1. Abra a aplicação Definições e navegue até Diagnósticos de Privacidade e Segurança>e feedback.
    2. Expanda a secção de Dados de Diagnóstico .
    3. Em Enviar dados de diagnóstico opcionais, defina a opção para Desligar.

Leitura adicional