如何过滤服务器型号?
how can I filter model of server?
我正在尝试查询服务器模型并基于特定类型的模型然后 运行 一些其他代码。
我已经完成了下面的操作,但是我 运行 它所在的服务器不是 Gen9
而是 VMware
所以,结果返回为 Else
语句在下面 - 这是我期望的不正确结果。
如果我 运行 调试然后 colItems
是空的(即这是真的,因为我 运行 的服务器是 VMWare) - 我对这个问题的陈述 - 即,我认为它不应该什么都没有,但找不到我还能把它改成什么? If colItems Is Nothing Then
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem Where Model Like 'Gen9%'")
If colItems Is Nothing Then
WScript.Echo "This is not a Gen9 Server"
Else
WScript.Echo "This IS a Gen9 Server"
End If
结果:(这不是我期望的正确结果)
D:\>cscript Intel_Teaming_Install.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
This IS a Gen9 Server
服务器是否匹配查询并不重要。 objWMIService.ExecQuery
调用将始终(如果没有错误)return 一个集合。此集合将包含匹配的实例或为空(集合中没有项目)。
你的情况
If colItems.Count < 1 Then
WScript.Echo "This is not a Gen9 Server"
Else
WScript.Echo "This IS a Gen9 Server"
End If
我正在尝试查询服务器模型并基于特定类型的模型然后 运行 一些其他代码。
我已经完成了下面的操作,但是我 运行 它所在的服务器不是 Gen9
而是 VMware
所以,结果返回为 Else
语句在下面 - 这是我期望的不正确结果。
如果我 运行 调试然后 colItems
是空的(即这是真的,因为我 运行 的服务器是 VMWare) - 我对这个问题的陈述 - 即,我认为它不应该什么都没有,但找不到我还能把它改成什么? If colItems Is Nothing Then
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem Where Model Like 'Gen9%'")
If colItems Is Nothing Then
WScript.Echo "This is not a Gen9 Server"
Else
WScript.Echo "This IS a Gen9 Server"
End If
结果:(这不是我期望的正确结果)
D:\>cscript Intel_Teaming_Install.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
This IS a Gen9 Server
服务器是否匹配查询并不重要。 objWMIService.ExecQuery
调用将始终(如果没有错误)return 一个集合。此集合将包含匹配的实例或为空(集合中没有项目)。
你的情况
If colItems.Count < 1 Then
WScript.Echo "This is not a Gen9 Server"
Else
WScript.Echo "This IS a Gen9 Server"
End If