有人知道如何对我的网络/域中的所有显示器/显示屏进行库存扫描吗?我需要走遍办公室并记下每台显示器的型号,我想知道是否有更好或更快的方法来完成此操作。
答案1
OpenAudit 在这方面非常有用。它可以生成一个 vbscript/javascript 登录脚本(使用 WMI 提取信息,与上文相同),您可以通过组策略推送该脚本以将此信息拉回服务器(通常在 LAMP/WAMP 堆栈中运行)。
使用登录脚本的缺点是,尤其是在执行详细清单时,它非常慢。OpenAudit 还可以生成一个脚本,您可以使用远程处理或使用 psexec 之类的工具远程运行该脚本,该脚本可以为您提供信息或将其输出到您可以拉回到 OpenAudit 的文件中。
OpenAudit 在处理大量数据时也表现不佳。界面有点笨重,反应迟钝。不过公平地说,我最近使用预先打包的“开发”WAMP 堆栈来运行它,所以我并没有真正为它提供坚实的基础。
上面的 powershell 脚本比 OpenAudit 更简洁、更省事,但如果你不写太多代码,这也是一个选择。如果你完全不知道网络上有什么,OpenAudit 还可以与 nmap 集成。我也听说 NEWT 很好,但我没有用过。
答案2
在 powershell 中使用 Get-WmiObject win32_desktopmonitor
您必须编写一些脚本来检索信息。(由 gpo 推送、在登录脚本中等等。)
答案3
Win32_DesktopMonitor 类涵盖了这一点。
https://msdn.microsoft.com/en-us/library/aa394122(v=vs.85).aspx
尝试运行以下 Powershell:
Get-WmiObject win32_desktopmonitor -ComputerName (the name of the machine) | Select (whatever values you care about, e.g. MonitorMachine,MonitorType)
PS C:\Users\arima> get-wmiobject win32_desktopmonitor | select MonitorMachine,MonitorType,MonitorManufacturer
MonitorMachine MonitorType MonitorManufacturer
-------------- ----------- -------------------
Dell U2312HM (Digital - DVI) Dell Inc.
答案4
这是一个小型 powershell 脚本,它将检查计算机阵列的远程 WMI 信息,以在屏幕上显示计算机名称、描述、监视器类型和名称。只需修改第一行中的数组以适合您的计算机名称列表即可。
$ArrComputers = "PC1", "PC2", "PC3", "etc"
foreach ($computer in $ArrComputers) {
write-host "Computer - $computer"
$remotewmi = Get-WmiObject -Namespace "root\cimv2" -Class Win32_desktopmonitor -ComputerName $computer
$name = $remotewmi.Name
$type = $remotewmi.MonitorType
$desc = $remotewmi.Description
write-host "Name: $name"
write-host "Monitor Type: $type"
write-host "Description: $desc"
write-host ""
}
我假设您拥有必要的权限,并且没有任何防火墙阻碍您。
如果您get-wmiobject win32_desktopmonitor
在 powershell 窗口中运行,您可以看到有哪些可用的信息。