You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可检测所有Windows用户Microsoft Teams Classic版本的PowerShell脚本

检测所有Windows用户的Microsoft Teams Classic安装状态及版本(PowerShell脚本)

一、全用户检测脚本

Teams Classic属于用户级本地安装,默认路径为C:\Users\<用户名>\AppData\Local\Microsoft\Teams\current\Teams.exe,以下脚本可遍历所有本地用户目录,检测安装状态并提取版本:

# 遍历本地所有用户目录,跳过无法访问的目录
$userProfiles = Get-ChildItem -Path "C:\Users" -Directory -ErrorAction SilentlyContinue

foreach ($user in $userProfiles) {
    $teamsExePath = Join-Path $user.FullName "AppData\Local\Microsoft\Teams\current\Teams.exe"
    
    if (Test-Path $teamsExePath) {
        $versionInfo = (Get-Item $teamsExePath).VersionInfo
        Write-Host "✅ 用户 [$($user.Name)] 已安装Teams Classic`n   文件版本:$($versionInfo.FileVersion)`n   产品版本:$($versionInfo.ProductVersion)`n"
    } else {
        Write-Host "❌ 用户 [$($user.Name)] 未安装Teams Classic`n"
    }
}

脚本说明:

  • 自动跳过无权限访问的用户目录(如系统内置账户、已删除用户残留目录)
  • 同时输出文件版本和产品版本,避免单一版本信息的误差
  • 用直观符号区分结果,减少冗余输出,提升可读性

二、备选检测思路(注册表方式)

如果需要通过注册表验证,可加载用户的HKCU注册表 hive(仅适用于已登录过的用户),但操作较复杂且依赖用户登录状态,优先级低于文件路径检测:

# 示例:加载指定用户的注册表Hive(需管理员权限)
$userHivePath = "C:\Users\<用户名>\NTUSER.DAT"
reg load HKU\TempUser $userHivePath

# 读取Teams卸载项中的版本信息
$teamsRegPath = "HKU\TempUser\Software\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Teams"
if (Test-Path $teamsRegPath) {
    $version = (Get-ItemProperty $teamsRegPath).DisplayVersion
    Write-Host "用户版本:$version"
}

# 卸载临时加载的注册表Hive
reg unload HKU\TempUser

三、卸载状态验证方案

卸载后验证的核心是确认主程序是否被移除,以下是两种可靠方式:

  1. 复用检测脚本快速验证
    直接重新运行上面的全用户检测脚本,检查目标用户的Teams.exe是否存在。

  2. 针对性验证函数
    如果只需验证特定用户,可使用轻量化函数:

function Confirm-TeamsUninstalled {
    param(
        [Parameter(Mandatory=$true)]
        [string]$UserName
    )
    $targetPath = Join-Path "C:\Users\$UserName" "AppData\Local\Microsoft\Teams\current\Teams.exe"
    $isUninstalled = -not (Test-Path $targetPath -ErrorAction SilentlyContinue)
    
    if ($isUninstalled) {
        Write-Host "[$UserName] 的Teams Classic已卸载完成"
    } else {
        Write-Host "[$UserName] 的Teams Classic仍未完全卸载"
    }
    return $isUninstalled
}

# 调用示例
Confirm-TeamsUninstalled -UserName "TestUser"

注意:

部分卸载脚本可能残留配置文件夹,但只要主程序Teams.exe被删除,即可判定卸载完成;若需彻底清理,可额外删除C:\Users\<用户名>\AppData\Local\Microsoft\Teams目录。

内容的提问来源于stack exchange,提问作者Exzou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 08:13:13