88 lines
3.4 KiB
PowerShell
88 lines
3.4 KiB
PowerShell
|
|
function Get-CMDBFallback {
|
||
|
|
param (
|
||
|
|
$comp
|
||
|
|
)
|
||
|
|
|
||
|
|
$cmdbData = Get-LANDeskCMDBItem -name $comp
|
||
|
|
|
||
|
|
if(!$cmdbData){
|
||
|
|
if($comp.Length -gt 5){
|
||
|
|
$asset = $comp[-5..-1] -join ""
|
||
|
|
$cmdbData = Get-LANDeskCMDBItem -AssetTag $asset
|
||
|
|
if($cmdbData){
|
||
|
|
$comp = $cmdbData.values.Title
|
||
|
|
if(Test-Connection $comp){
|
||
|
|
$getpcData = get-pc $comp
|
||
|
|
return $getpcData
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
$status = $cmdbData.values.Status
|
||
|
|
if(!$status){
|
||
|
|
$status = 'No CMDB/SCCM Record Located'
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
$status = $cmdbData.values.Status + ' (CMDB Data)'
|
||
|
|
}
|
||
|
|
|
||
|
|
if($cmdbData.values._SHSLocation3.Length -gt $cmdbData.values._SHSCalcLocationString.Length){
|
||
|
|
$locationData = $cmdbData.values._SHSLocation3
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
$locationData = $cmdbData.values._SHSCalcLocationString
|
||
|
|
}
|
||
|
|
if($cmdbData.values._ConfigTypesCategory -eq 'Mobile Device'){
|
||
|
|
$props = [Ordered]@{
|
||
|
|
Hostname = $cmdbData.values.Title
|
||
|
|
'MAC' = $cmdbData.values._SHSMACAddress
|
||
|
|
Model = $cmdbData.values._Model + ' (' + $cmdbData.Values._SHSChasisRef + ')'
|
||
|
|
'OS' = $cmdbData.Values._SHSOperatingSystem
|
||
|
|
'Asset Tag' = $cmdbData.values._SHSAssetTag
|
||
|
|
'Service Tag' = $cmdbData.values._SerialNumber
|
||
|
|
'MDM Platform' = $cmdbData.values._SHSMDMPlatform
|
||
|
|
'Phone Number' = $cmdbData.values._SHSPhoneNumber
|
||
|
|
'Cellular Carrier' = $cmdbData.values._SHSCellularCarrier
|
||
|
|
'Cellular Voice' = $cmdbData.values._SHSCellularVoice
|
||
|
|
'Cellular Data' = $cmdbData.values._SHSCellularData
|
||
|
|
'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
|
||
|
|
'IP | MAC' = $cmdbData.values._IPAddress + " | " + $cmdbData.values._SHSMACAddress
|
||
|
|
Model = $cmdbData.values._Model + ' (' + $cmdbData.Values._SHSChasisRef + ')'
|
||
|
|
'OS' = $cmdbData.Values._SHSOperatingSystem
|
||
|
|
'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"
|
||
|
|
'Asset Tag' = $cmdbData.values._SHSAssetTag
|
||
|
|
'Service Tag' = $cmdbData.values._SerialNumber
|
||
|
|
'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
|
||
|
|
if($cmdbData.values.ConfigurationItem._SHSDELAsset -eq 'True'){
|
||
|
|
$delInfo = Get-CMDBDELInfo $cmdbData
|
||
|
|
$obj | Add-Member -MemberType NoteProperty -Name 'DEL Owner' -Value $delInfo.Owner
|
||
|
|
$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
|
||
|
|
}
|