116 lines
3.8 KiB
PowerShell
116 lines
3.8 KiB
PowerShell
#### report on the differences between the SharePoint list and the CMDB
|
|
|
|
function Compare-ITDVMSharePointToCmdb {
|
|
[CmdletBinding()]
|
|
param (
|
|
|
|
)
|
|
|
|
begin {
|
|
|
|
$SPList = Get-ITDVMwareSharePointVMGuestList | Where-Object { $_.Status -ne "Delete" -and $_.Status -ne "Deleted" -and $_.Status -ne "Declined"}
|
|
|
|
$ArrayList = [System.Collections.ArrayList]@()
|
|
ForEach ($SPItem in $SPList) {
|
|
Write-Verbose -message ($SPItem.Title) -Verbose
|
|
$Cmdb = $null
|
|
$Hostname = $null
|
|
$obj = $null
|
|
|
|
$Hostname = $SPItem.Title.split('.')[0]
|
|
$Cmdb = Get-ITDServiceNowRecord -Table cmdb_ci_server -Filter "name=$HostName"
|
|
|
|
$obj = [PSCustomObject]@{
|
|
SPTitle = $SPItem.Title;
|
|
CmdbHostName = $Cmdb.name.display_value;
|
|
Environment = $null;
|
|
AppName = $null;
|
|
LicensingRestrictions = $null;
|
|
DR_Protection = $null;
|
|
SRMRecoveryType = $null;
|
|
}
|
|
|
|
If ($SPItem.Environment -eq $Cmdb.Environment.display_value) {
|
|
$obj.Environment = $true
|
|
} Else {
|
|
$obj.Environment = $false
|
|
}
|
|
|
|
If ($SPItem.AppName -eq $Cmdb.u_nd_application_svc.display_value) {
|
|
$obj.AppName = $true
|
|
} Else {
|
|
$obj.AppName = $false
|
|
}
|
|
|
|
If ($SPItem.LicensingRestrictions -eq $Cmdb.u_nd_licensing_restrictions.display_value) {
|
|
$obj.LicensingRestrictions = $true
|
|
} Else {
|
|
$obj.LicensingRestrictions = $false
|
|
}
|
|
|
|
switch ($SPItem.DR_Protection) {
|
|
'None' {
|
|
If ($Cmdb.u_nd_dr_protection.display_value -eq 'No DR') {
|
|
$obj.DR_Protection = $true
|
|
}
|
|
Else {
|
|
$obj.DR_Protection = $false
|
|
}
|
|
}
|
|
'VMware: ABR' {
|
|
If ($Cmdb.u_nd_dr_protection.display_value -eq 'VMware: ABR') {
|
|
$obj.DR_Protection = $true
|
|
}
|
|
Else {
|
|
$obj.DR_Protection = $false
|
|
}
|
|
}
|
|
Default {
|
|
If ($Cmdb.u_nd_dr_protection.display_value -eq $SPItem.DR_Protection) {
|
|
$obj.DR_Protection = $true
|
|
}
|
|
Else {
|
|
$obj.DR_Protection = $false
|
|
}
|
|
}
|
|
}
|
|
|
|
switch ($SPItem.SRM_RecoveryVMtype) {
|
|
$null {
|
|
If ($null -eq $Cmdb.u_nd_srm_recovery_vm_type.display_value) {
|
|
$obj.SRMRecoveryType = $true
|
|
}
|
|
Else {
|
|
$obj.SRMRecoveryType = $false
|
|
}
|
|
}
|
|
'Reserved' {
|
|
If ($Cmdb.u_srm_recovery_type.display_value -eq 'Reserved') {
|
|
$obj.SRMRecoveryType = $true
|
|
}
|
|
Else {
|
|
$obj.SRMRecoveryType = $false
|
|
}
|
|
}
|
|
'Repurposed' {
|
|
If ($Cmdb.u_srm_recovery_type.display_value -eq 'Repurposed') {
|
|
$obj.SRMRecoveryType = $true
|
|
}
|
|
Else {
|
|
$obj.SRMRecoveryType = $false
|
|
}
|
|
}
|
|
}
|
|
|
|
$ArrayList.Add($obj) | Out-Null
|
|
}
|
|
}
|
|
|
|
process {
|
|
|
|
}
|
|
|
|
end {
|
|
Write-Output $ArrayList
|
|
}
|
|
} |