返回列表 发帖

[系统相关] wmic命令表达式表达非空

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

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

On Error Resume Next
Dim objWMIService, colAdapters, objNetworkAdapter
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colAdapters = objWMIService.ExecQuery("SELECT Description, IPAddress, IPSubnet, DefaultIPGateway FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objNetworkAdapter In colAdapters
    Dim message
    message = "Description: " & objNetworkAdapter.Description & vbNewLine
    If IsArray(objNetworkAdapter.IPAddress) Then
        For Each ip In objNetworkAdapter.IPAddress
            message = message & "IP Address: " & ip & vbNewLine
        Next
    ElseIf objNetworkAdapter.IPAddress <> "" Then
        message = message & "IP Address: " & objNetworkAdapter.IPAddress & vbNewLine
    End If
    If IsArray(objNetworkAdapter.IPSubnet) Then
        For Each subnet In objNetworkAdapter.IPSubnet
            message = message & "IP Subnet: " & subnet & vbNewLine
        Next
    ElseIf objNetworkAdapter.IPSubnet <> "" Then
        message = message & "IP Subnet: " & objNetworkAdapter.IPSubnet & vbNewLine
    End If
    If IsArray(objNetworkAdapter.DefaultIPGateway) Then
        For Each gateway In objNetworkAdapter.DefaultIPGateway
            message = message & "Default Gateway: " & gateway & vbNewLine
        Next
    ElseIf objNetworkAdapter.DefaultIPGateway <> "" Then
        message = message & "Default Gateway: " & objNetworkAdapter.DefaultIPGateway & vbNewLine
    End If
    MsgBox message
NextCOPY

TOP

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

无解.DefaultIPGateway 是数组
不要用wmic,如果为了快,用jscript
因为 vbs/wmic 都快退休了
微信:flashercs
QQ:49908356

TOP

返回列表