this may point you in a direction
Try
{
Connect-VIServer $Global:strVIServer
#
$vmhosts = get-vmhost | Select-Object Name, Id, CustomFields, MoRef, Summary
If ($vmhosts -eq $null)
{
}
Else
{
ForEach($vmhost In $vmhosts){
#clear variables, set up the fake class, construct
$clsVMHost = "" | Select VMWareUUID, VMWareName, VMWareNetbiosname, VMWareSCCMID, VMWareMAC, SMSSCCMID
$clsVMHost.VMWareUUID = [string]""
$clsVMHost.VMWareName = [string]""
$clsVMHost.VMWareNetbiosname = [string]""
$clsVMHost.VMWareSCCMID = [string]""
$clsVMHost.VMWareMAC = [string]""
$clsVMHost.SMSSCCMID = [string]""
#
#get-view of vmhost
$vmhostview = get-view $vmhost.Id
$clsVMHost.VMWareUUID = $vmhostview.Summary.Hardware.Uuid
$clsVMHost.VMWareName = $vmhostview.Name
#populate netbiosname variable
If ($clsVMHost.VMWareName.Contains(".")){
$clsVMHost.VMWareNetbiosname = $clsVMHost.VMWareName.SubString(0, $clsVMHost.VMWareName.IndexOf(".")).ToUpper()
}
Else{
$clsVMHost.VMWareNetbiosname = $clsVMHost.VMWareName.ToUpper()
}#End If
#get the SCCM-ID custom field
$clsVMHost.VMWareSCCMID = $vmhost.CustomFields.get_item("SCCM-ID").ToString().ToUpper()
#NetworkAdapter, get the MAC of the first NIC
$colNetworkAdapters = ""
$colNetworkAdapters = Get-VMHostNetworkAdapter -VMHost $vmhostview.Name -Physical
ForEach($objNetworkAdapter In $colNetworkAdapters)
{
$clsVMHost.VMWareMAC = $objNetworkAdapter.Mac.ToUpper()
Break
}#Next