我应该首先说,我喜欢用 PowerShell 解决问题,但是我的 PowerShell 技能严重缺乏。因此,如果您确实回复,请尽可能基本:D
Microsoft Teams 安装在AppData
. 多个用户登录到不同的 PC,留下旧版本的 Teams,我们现在需要清理这些旧版本,而不会影响当前登录的用户和较新版本的 Teams。
正因为如此,我一直在VersionInfo.FileVerson
解决这个问题。我尝试过的各种方法,我可以到目前为止,然后没有进一步。我可以列出FullName
andFileVersion
但我不知道如何省略我们想要单独留下的较新版本。
我发现这种方法与我所写的相比看起来非常干净,它使我与我的脚本处于同一阶段;
cd G:\test\users\ Get-ChildItem -Filter wire*.exe -Recurse |
ForEach-Object {
try {
$_ | Add-Member NoteProperty FileVersion ($_.VersionInfo.FileVersion)
$_ | Add-Member NoteProperty AssemblyVersion (
[Reflection.AssemblyName]::GetAssemblyName($_.FullName).Version
)
} catch {}
$_
} | Select-Object FullName,FileVersion -outvariable info
从她那里,我的想法是类似的$info.where{$_.FileVersion -lt '3.4.4.0'}
。
例如,在使用运行服务测试这类事情时,我可以看到它是多么容易。所以我不知道我是怎么做到的,如果有人能指出我正确的方向,我将不胜感激。