2024-06-11 18:27:55 +00:00
|
|
|
function Get-CMDBFallback {
|
|
|
|
|
param (
|
|
|
|
|
$comp
|
|
|
|
|
)
|
|
|
|
|
|
2024-07-30 20:25:32 +00:00
|
|
|
#$cmdbData = Get-LANDeskCMDBItem -name $comp
|
|
|
|
|
$cmdbData = Search-SparkCIs $comp
|
2024-06-11 18:27:55 +00:00
|
|
|
|
2024-07-30 20:25:32 +00:00
|
|
|
$status = $cmdbData.Status
|
2024-06-11 18:27:55 +00:00
|
|
|
if(!$status){
|
|
|
|
|
$status = 'No CMDB/SCCM Record Located'
|
|
|
|
|
}
|
|
|
|
|
else{
|
2024-07-30 20:25:32 +00:00
|
|
|
$status = $cmdbData.Status + ' (CMDB Data)'
|
2024-06-11 18:27:55 +00:00
|
|
|
}
|
|
|
|
|
|
2024-07-30 20:25:32 +00:00
|
|
|
$locationData = $cmdbData.SHS_Floor + ' - ' + $cmdbData.SHS_Department + ' - ' + $cmdbData.LocationDetails
|
|
|
|
|
|
|
|
|
|
$phoneNumber = $cmdbData.LoginName
|
|
|
|
|
|
|
|
|
|
if($cmdbData.CIType -eq 'MobileDevice'){
|
2024-06-11 18:27:55 +00:00
|
|
|
$props = [Ordered]@{
|
2024-07-30 20:25:32 +00:00
|
|
|
Hostname = $cmdbData.Name
|
|
|
|
|
'MAC' = $cmdbData.MACAddress
|
|
|
|
|
Model = $cmdbData.Model + ' (' + $cmdbData.ChassisType + ')'
|
|
|
|
|
'OS' = $cmdbData.OperatingSystem
|
|
|
|
|
'Asset Tag' = $cmdbData.AssetTag
|
|
|
|
|
'Service Tag' = $cmdbData.SerialNumber
|
|
|
|
|
'MDM Platform' = $cmdbData.SHS_MdmPlatform
|
|
|
|
|
'Phone Number' = $cmdbData.PhoneNumber #TODO fix this, idk why Spark! doesn't return this
|
|
|
|
|
'Cellular Carrier' = $cmdbData.SHS_Carrier
|
|
|
|
|
'Cellular Voice' = $cmdbData.SHS_IsCellularVoice
|
|
|
|
|
'Cellular Data' = $cmdbData.SHS_IsCellularData
|
2024-06-11 18:27:55 +00:00
|
|
|
'CMDB Location' = $locationData
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$obj = New-Object -TypeName PSObject -Property $props
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
$props = [Ordered]@{
|
|
|
|
|
Hostname = "$comp"
|
|
|
|
|
Status = $status
|
|
|
|
|
'Current User' = "Not Available"
|
|
|
|
|
'Last User(s)' = $null
|
2024-07-30 20:25:32 +00:00
|
|
|
'IP | MAC' = $cmdbData.IPAddress + " | " + $cmdbData.MACAddress
|
|
|
|
|
Model = $cmdbData.Model + ' (' + $cmdbData.ChassisType + ')'
|
|
|
|
|
'OS' = $cmdbData.OperatingSystem
|
2024-06-11 18:27:55 +00:00
|
|
|
'OS Build' = $null
|
|
|
|
|
'BIOS Ver' = $null
|
|
|
|
|
Encryption = $null
|
|
|
|
|
'Free Space' = $cmdbData.Values._AvailableDiskSpace + ' GB / ' + $cmdbData.Values._HardDiskSize + ' GB'
|
|
|
|
|
RAM = $cmdbData.Values._RAM + " GB "
|
|
|
|
|
'SSO Client' = "Not Available"
|
|
|
|
|
'Kiosk Role' = "Not Available"
|
2024-07-30 20:25:32 +00:00
|
|
|
'Asset Tag' = $cmdbData.AssetTag
|
|
|
|
|
'Service Tag' = $cmdbData.SerialNumber
|
2024-06-11 18:27:55 +00:00
|
|
|
'Last Reboot' = $null
|
|
|
|
|
Printers = $null
|
|
|
|
|
'CMDB Location' = $locationData
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$obj = New-Object -TypeName PSObject -Property $props
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Write-Host "`n`nPulling cached CMDB data for $comp." -ForegroundColor Yellow
|
|
|
|
|
Write-Host "Last CMDB Update: ",$cmdbData.values.LastUpdate -ForegroundColor Yellow
|
2024-07-30 20:25:32 +00:00
|
|
|
if($cmdbData.SHS_IsException -eq 'True'){
|
2024-06-11 18:27:55 +00:00
|
|
|
$delInfo = Get-CMDBDELInfo $cmdbData
|
2024-07-30 20:25:32 +00:00
|
|
|
$obj | Add-Member -MemberType NoteProperty -Name 'DEL Owner' -Value $delInfo.Contact
|
2024-06-11 18:27:55 +00:00
|
|
|
$obj | Add-Member -MemberType NoteProperty -Name 'DEL Vendor PC' -Value $delInfo.Vendor
|
|
|
|
|
$obj | Add-Member -MemberType NoteProperty -Name 'DEL Description' -Value $delInfo.Description
|
|
|
|
|
}
|
|
|
|
|
return $obj
|
|
|
|
|
}
|