When I run the code below in a virtual machine then I'm getting the following exception on the .Get()
function: Specified cast is not valid
For Each queryObj As ManagementObject In New ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard").Get()
If queryObj("SerialNumber") Is Nothing Then
Return "" 'If nothing then return string.empty
Else
Return CStr(queryObj("SerialNumber"))
End If
Next