about_Telemetry

简短说明

介绍在 PowerShell 中收集的遥测以及如何选择退出。

长说明

PowerShell 使用 Application Insights 向 Microsoft 发送基本遥测数据。 此数据帮助我们更好地了解使用 PowerShell 的环境,并能确定新功能和修复的优先级。 PowerShell 在发送遥测信息之前会先将其匿名化。

PowerShell 在启动时发送以下信息:

  • 操作系统的制造商、名称和版本
  • PowerShell 的版本
  • POWERSHELL_DISTRIBUTION_CHANNEL 环境变量的值
  • PowerShell 使用的 Application Insights SDK 的版本
  • 基于 IP 地址的主机地理位置
  • 传递给 pwsh 的参数,没有参数值
  • 当前会话的执行策略设置
  • 一个随机生成的 GUID,代表运行实例的用户
  • 一个随机生成的 GUID,代表会话实例

仅在启动 pwsh 可执行文件时收集启动遥测数据。 如果 PowerShell 引擎嵌入到某个其他的主机应用程序中,则不会发送此信息。

注意

Application Insights 使用主机 IP 地址来确定地理位置。 IP 地址永远不会包含在遥测数据中或存储在数据库中。 有关详细信息,请参阅地理位置和 IP 地址处理

PowerShell 在会话期间发送以下信息:

  • PowerShell.Create() API 的调用的计数
  • 导入的 Microsoft 自有模块的名称和版本
  • 具有 CrescendoBuilt 标记的导入模块计数
  • 启用的试验性功能的名称
  • 禁用的试验性功能的名称
  • $PSNativeCommandUseErrorActionPreference 首选项变量的值,truefalseunset
  • 远程会话打开操作计数

PowerShell 在所有主机应用程序的会话生存期内会定期发送此信息。

要选择退出此遥测,请将环境变量 $env:POWERSHELL_TELEMETRY_OPTOUT 设置为 trueyes1。 要使此环境变量生效,必须在启动 PowerShell 进程之前设置它。 有关详细信息,请参阅 about_Environment_Variables

$env:POWERSHELL_DISTRIBUTION_CHANNEL 环境变量由安装程序包设置,用于记录 PowerShell 的安装方法和源。 由于此信息包含在发送给 Microsoft 的遥测数据中,因此用户不应更改此值。

有关这些环境变量的详细信息,请参阅 about_Environment_Variables

有关 Microsoft 隐私声明的详细信息,请参阅 Microsoft 隐私声明