Board logo

标题: [系统相关] wmic命令表达式表达非空 [打印本页]

作者: 小白龙    时间: 2025-2-3 21:59     标题: wmic命令表达式表达非空

本帖最后由 小白龙 于 2025-2-3 22:06 编辑

下面的表达式是gpt推理的, 十几轮下来都不能跑通, 应该是 DefaultIPGateway is not null 这个表达有误, 用ds推理改为了"IPEnabled=TRUE AND DefaultIPGateway<>'NULL'" 但仍跑不通, 求路过大佬支招
  1. wmic nicconfig where "IPEnabled=true and DefaultIPGateway is not null" get Description,IPAddress,IPSubnet,DefaultIPGateway /format:csv
复制代码

作者: flashercs    时间: 2025-2-4 00:14

本帖最后由 flashercs 于 2025-2-4 00:15 编辑

无解.DefaultIPGateway 是数组
不要用wmic,如果为了快,用jscript
因为 vbs/wmic 都快退休了
作者: holley    时间: 2025-2-7 09:32

  1. On Error Resume Next
  2. Dim objWMIService, colAdapters, objNetworkAdapter
  3. Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  4. Set colAdapters = objWMIService.ExecQuery("SELECT Description, IPAddress, IPSubnet, DefaultIPGateway FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
  5. For Each objNetworkAdapter In colAdapters
  6.     Dim message
  7.     message = "Description: " & objNetworkAdapter.Description & vbNewLine
  8.     If IsArray(objNetworkAdapter.IPAddress) Then
  9.         For Each ip In objNetworkAdapter.IPAddress
  10.             message = message & "IP Address: " & ip & vbNewLine
  11.         Next
  12.     ElseIf objNetworkAdapter.IPAddress <> "" Then
  13.         message = message & "IP Address: " & objNetworkAdapter.IPAddress & vbNewLine
  14.     End If
  15.     If IsArray(objNetworkAdapter.IPSubnet) Then
  16.         For Each subnet In objNetworkAdapter.IPSubnet
  17.             message = message & "IP Subnet: " & subnet & vbNewLine
  18.         Next
  19.     ElseIf objNetworkAdapter.IPSubnet <> "" Then
  20.         message = message & "IP Subnet: " & objNetworkAdapter.IPSubnet & vbNewLine
  21.     End If
  22.     If IsArray(objNetworkAdapter.DefaultIPGateway) Then
  23.         For Each gateway In objNetworkAdapter.DefaultIPGateway
  24.             message = message & "Default Gateway: " & gateway & vbNewLine
  25.         Next
  26.     ElseIf objNetworkAdapter.DefaultIPGateway <> "" Then
  27.         message = message & "Default Gateway: " & objNetworkAdapter.DefaultIPGateway & vbNewLine
  28.     End If
  29.     MsgBox message
  30. Next
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2