The core issue here is that there isn't a straightforward way to determine whether a specific device is running Windows or Linux. While it's theoretically possible to probe ports, such as 22 for SSH or 135 for RPC, to infer the operating system, this approach still involves making connections to each device individually. Not only can this be slow, but the detection remains probabilistic and could produce inaccurate results. It also risks triggering firewall alerts or unwanted security scrutiny.
One workaround is to merge the output from two columns into a single one using a custom VBScript under Remote Scripting, like so:
Dim val1, val2
val1 = Input.Column("Host Name")
val2 = Input.Column("MAC address")
If val1 = "" Then
Output.Write val2
ElseIf val2 = "" Then
Output.Write val1
Else
Output.Write val1 ' or val2, depending on preference
End If
This helps condense the output visually, but does require keeping the source columns visible. It's not ideal, especially when managing a large set of data.
A more robust solution would be to allow VBScript to specify what types of scans to perform. For instance:
val1 = ssh.run("item name")
val2 = wmi.run("item name")
This would make it possible to dynamically choose scan methods based on IP range, MAC prefix, or other criteria - thus avoiding unnecessary or inappropriate queries (e.g. attempting WMI on a Linux box). We're actively considering ways to implement this more intelligent targeting, please keep an eye on updates.