WMI查询正在暂停

时间:2017-10-10 00:05:49

标签: windows powershell wmi wmi-query

当我在powershell中运行此命令时,我得不到任何响应。我必须杀死powershell,因为我无法取消查询。

Get-WMIObject -query 'SELECT * from Win32_UserAccount'

可以采取哪些措施来了解为何会发生这种情况?

谢谢!

1 个答案:

答案 0 :(得分:2)

对于大多数命令,我建议添加-Verbose,但我不认为Get-WMIObject会在该流上输出很多有用的信息。

至于它挂起的原因,请记住该命令将枚举域中的每个用户帐户(而不仅仅是本地计算机)。如果您在大型网络上运行此操作,则需要一些时间。即使我的约800个用户对象的小型网络也需要15秒才能运行。

如果你是一个大型网络......让它运行,它可能需要一段时间。

关于这个课程的guidance from Microsoft是:

  

注意由于名称都是关键属性,因此在大型网络上枚举 Win32_UserAccount 会产生负面影响影响表现。调用 GetObject 或查询特定实例的影响较小。

它仍然需要很长时间才能运行,但CIM版本的速度更快(在我的情况下为12.5秒而不是15秒):

Get-CimInstance -ClassName Win32_UserAccount

或者,如果你想坚持使用查询格式:

Get-CimInstance -Query 'SELECT * from Win32_UserAccount'