2024-07-15 15:54:31 +00:00
|
|
|
function Get-Hostname ([string]$name) {
|
2024-07-24 22:37:27 +00:00
|
|
|
$errMsg = ''
|
2024-07-11 18:33:30 +00:00
|
|
|
if ($name.Length -eq 5) {
|
|
|
|
|
$res = Get-AssetConversion $name
|
2024-07-24 22:37:27 +00:00
|
|
|
if ($res) { return $res,'' }
|
2024-08-07 18:33:25 +00:00
|
|
|
try {
|
|
|
|
|
$cmdbData = Search-ISMBO -bo cis -filter "AssetTag eq '$name'" -RawFilter
|
|
|
|
|
} catch { $cmdbData = $null }
|
|
|
|
|
if ( $cmdbData ) { return $cmdbData.values.title, '' }
|
|
|
|
|
else { $errMsg += "$name Asset Tag not in SMBIOS or CMDB. " }
|
2024-07-11 18:33:30 +00:00
|
|
|
}
|
|
|
|
|
# Regex to match IP Address brought to you by https://stackoverflow.com/a/36760050
|
|
|
|
|
if ($name -match "^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$") {
|
|
|
|
|
$res = Resolve-DnsName $name
|
|
|
|
|
if ($res -and $res.NameHost -and ($res.NameHost -match "([^.]*)\.int\.samhealth\.net")) {
|
2024-07-24 22:37:27 +00:00
|
|
|
return $Matches[1],''
|
|
|
|
|
} else {
|
|
|
|
|
$errMsg += "$name IP Address couldn't be resolved to hostname"
|
2024-07-11 18:33:30 +00:00
|
|
|
}
|
|
|
|
|
}
|
2024-07-12 20:50:15 +00:00
|
|
|
if ($name.Length -eq 7) {
|
|
|
|
|
$res = Get-ServiceTagConversion $name
|
2024-07-24 22:37:27 +00:00
|
|
|
if ($res) { return $res,'' }
|
|
|
|
|
else { $errMsg += "$name Service Tag not found in SCCM"}
|
2024-07-12 20:50:15 +00:00
|
|
|
}
|
2024-07-11 18:33:30 +00:00
|
|
|
# Regex to match MAC Address brought to you by https://stackoverflow.com/a/4260512
|
|
|
|
|
if ($name -match "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$") {
|
2024-07-12 20:50:15 +00:00
|
|
|
$res = Get-SCCM_PCFromMAC $name
|
2024-07-24 22:37:27 +00:00
|
|
|
if ($res) { return $res,'' }
|
|
|
|
|
else { $errMsg += "$name MAC Address not found in SCCM"}
|
2024-07-11 18:33:30 +00:00
|
|
|
}
|
|
|
|
|
|
2024-07-24 22:37:27 +00:00
|
|
|
return $name, $errMsg
|
2024-07-11 18:33:30 +00:00
|
|
|
}
|