我本人并不是一个系统管理员,但我代表我的一个客户问这个问题,这是一家“妈妈和爸爸”公司,在Windows网络上没有大约50台计算机。他们想让他们的系统管理员确定在用户的个人电脑上安装了哪些版本的NET,而不必让她走到每个桌面上查询每台机器的注册表。是否存在一个实用工具,她可以从她自己的电脑运行?或者,是否有一个ActiveDirectory策略设置会导致域上的每个桌面PC将该版本信息报告回中央存储库,她可以检查?
发布于 2020-06-23 13:20:26
可以使用PowerShell确定在注册表中的远程计算机上安装了哪个.NET版本:
Invoke-Command -Computer "COMPUTER_NAME" -ScriptBlock { gci ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -recurse | gp -name Version -EA 0 | where { $_.PSChildName -match ‘^(?!S)\p{L}’} }您的PC需要在同一个域中,可以通过本地网络从您的网络访问,以便能够使用该命令,并且客户端必须启用了PSRemoting -它可以通过运行Enable-PSRemoting -Force来完成。此外,您的域帐户还需要远程计算机上的管理权限,但是如果由于公司的安全策略,这是不可能的,请查看以下内容:https://4sysops.com/archives/powershell-remoting-without-administrator-rights/
此外,每个人都可以在Powershell中本地运行该脚本,并将结果保存到C:\results.txt中,如下所示:
gci ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -recurse | gp -name Version -EA 0 | where { $_.PSChildName -match ‘^(?!S)\p{L}’} | Out-File C:\results.txthttps://serverfault.com/questions/1022518
复制相似问题