33 lines
1.5 KiB
PowerShell
33 lines
1.5 KiB
PowerShell
$PowerBi = Import-Csv -Path D:\Downloads\serverinventory20251002.csv
|
|
$SRM = Import-Csv -Path D:\Downloads\itdvmvc1.nd.gov-itdvmvc2.nd.gov-20251002-102657.csv
|
|
$VMs = Get-VM | Where-Object { $_.ExtensionData.summary.config.ManagedBy.Type -eq "placeholderVm" }
|
|
|
|
$Result = [System.Collections.ArrayList]@()
|
|
foreach ($pbi in $PowerBi) {
|
|
Write-Verbose -Message ($pbi.'Host Name') -Verbose
|
|
$obj = $null
|
|
|
|
$obj = [PSCustomObject]@{
|
|
PowerBi = $pbi.'Host Name'
|
|
Placeholder = $VMs | Where-Object Name -EQ $pbi.'Host Name' | Select-Object -ExpandProperty Name -First 1;
|
|
SRM = $SRM | Where-Object "Virtual Machine" -EQ $pbi.'Host Name' | Select-Object -ExpandProperty "Virtual Machine"
|
|
CMDB = ((Get-ITDServiceNowRecord -Table cmdb_ci_server -Filter ("name=" + $pbi.'Host Name'.split('.')[0])).name.display_value)
|
|
}
|
|
$null = $Result.Add($obj)
|
|
}
|
|
|
|
foreach ($VM in $VMs) {
|
|
if ($Result | Where-Object Placeholder -EQ $VM.Name) {
|
|
#do nothing
|
|
}
|
|
else {
|
|
Write-Verbose -Message ($VM.Name) -Verbose
|
|
$obj = [PSCustomObject]@{
|
|
PowerBi = $PowerBi | Where-Object 'Host Name' -EQ $pbi.'Host Name'
|
|
Placeholder = $VM.Name;
|
|
SRM = $SRM | Where-Object "Virtual Machine" -EQ $pbi.'Host Name'
|
|
CMDB = ((Get-ITDServiceNowRecord -Table cmdb_ci_server -Filter ("name=" + $pbi.'Host Name'.split('.')[0])).name.display_value);
|
|
}
|
|
$null = $Result.Add($obj)
|
|
}
|
|
} |