调查域成员的屏幕分辨率

调查域成员的屏幕分辨率

有没有办法通过 WMI 或 Powershell 询问每个域成员桌面的分辨率是多少?我需要知道,但无法访问每个域成员。为了加分,如何汇总结果并仅显示每个分辨率的一个唯一结果?也就是说,

  • 答:1920x1080
  • 屏幕分辨率:1920x1080
  • 图像尺寸: 1200x800

它只会读

  • 1920x1080
  • 1200x800

答案1

实际上,你可以直接拉取它们的屏幕分辨率。对于我自己和虚拟机来说,wmic 路径 Win32_VideoController 获取 VideoModeDescription运行良好。(我运行的是 64 位,VM 是 32 位)

此解决方案和其他解决方案均可用这里

编辑:误解了他们的民意调查的意思

另外:两种方法的结合,为用户提供他们的屏幕分辨率作为默认条目,但允许他们在提交之前选择更改它。

$screenres = wmic path Win32_VideoController get VideoModeDescription | findstr colors
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null    
$computer = [Microsoft.VisualBasic.Interaction]::InputBox("Hello, please enter your screen resolution. Thanks.", "Screen Resolution", "$screenres") 

它将保存为 $computer。如果您愿意,可以将其回显到中立网络共享上的日志中,或者无论您想以何种方式收集它。

如果某些方法不起作用,您需要替代解决方案,或者需要详细说明,请告诉我。感谢您的阅读!

答案2

看起来你需要这样的东西:

获取 AD 中所有 PC 的完整描述

Get-ADcomputer -Filer * | Get-WmiObject -Class Win32_VideoController

并且只有当前决议的列表

Get-ADcomputer -Filer * | (Get-WmiObject -Class Win32_VideoController).VideoModeDescription

更新 所以这会起作用

$computerlist = Get-ADComputer -Filter * | Select -Expand Name     
Get-WmiObject -Class Win32_VideoController -ComputerName $Computerlist

相关内容