我有多台可以远程连接的笔记本电脑,但我不知道它们是否有可用的网络摄像头。我看不见他们。我不需要访问网络摄像头;我只需要知道是否有人在场。
有没有办法远程判断笔记本电脑是否有网络摄像头?
我更喜欢某种cmd
代码,我可以在每个代码上触发这些代码,以便快速为我提供此类信息的可复制打印输出,以便跨计算机编译。
我有多台可以远程连接的笔记本电脑,但我不知道它们是否有可用的网络摄像头。我看不见他们。我不需要访问网络摄像头;我只需要知道是否有人在场。
有没有办法远程判断笔记本电脑是否有网络摄像头?
我更喜欢某种cmd
代码,我可以在每个代码上触发这些代码,以便快速为我提供此类信息的可复制打印输出,以便跨计算机编译。
在 Windows 上,您可以在设备管理器中查看是否存在相机设备。也可以使用 PowerShell 或命令提示符执行此检查,无需特殊权限。
命令提示符:
将打印:
电源外壳:
将打印:
您无法使用普通过滤器(如上所示)可靠地区分内部和外部相机。您必须按照名称或其他提示进行操作。
一些不使用 USB 视频类的旧网络摄像头可能不会出现在相机类中。相反,可以使用Image类,该类如今通常用于文档扫描仪等。
使用
pnputil
,您必须运行两个命令才能获取这两个类。使用 PowerShell,您只需要一个:输出(不同的 PC,没有
-PresentOnly
,因此是Unknown):然而,同样,这只适用于非常老的硬件,它也会捕获非相机设备,如上面的多功能打印机。
PowerShell 看起来是个不错的选择。使用PowerShell 发现笔记本电脑网络摄像头提供了几个选项。
对我有用的是
您可能需要使用“camera”或“cam”或其他可以捕获所有不同选项的术语的变体运行该命令几次。例如,我的相机是 Microsoft LifeCam,如果您搜索“相机”,将看不到它
如果您修改搜索以查找
这将向您显示所有成像设备,并且可能包括扫描仪和其他设备。
我没有对此进行广泛测试,但是
Get-PnpDevice -PresentOnly | Where-Object { $_.Class -match '^Camera' }
似乎有效 - 有点从这个 SO answer开始并调整以适应它还会在“友好名称”下为您提供相机型号的名称