У меня есть массив объектов, которые я вытащил из двух vcenters.Сравнение массивов объектов с пользовательскими заголовками
Я пытаюсь сделать форматированный таблицу, которая имеет 3 колонки: роли, ведущий, ведомый
Там будет «существует» или «отсутствует» в последних двух столбцах.
Проблема, которая, как я полагаю, происходит, когда обнаруживает, что эта роль существует у мастера, она как-то маркирует рабочую колонку как «отсутствующую», хотя я знаю, что она есть.
Я всего лишь несколько месяцев в Powershell, может ли кто-нибудь увидеть что-то не так с моей логикой?
редактировать: RoleTable.AllRoles, RoleTable.MasterRoles и RoleTable.SlaveRoles все объектные массивы
$RoleTable.AllRoles | Select-Object Name,
@{Name = "Master Server"; Expression = {if ($RoleTable.MasterRoles -contains $_) {"EXISTS"} else {"MISSING"}}},
@{Name = "Slave Server"; Expression = {if ($RoleTable.SlaveRoles -contains $_) {"EXISTS"} else {"MISSING"}}}
Пример Roletable.Allroles объекта:
$RoleTable.AllRoles[1] | Select-Object *
Description : Not logged-in user (cannot be granted)
IsSystem : True
PrivilegeList : {System.Anonymous}
ServerId : /[email protected]:443/
Server :
Id : -4
Name : Anonymous
Uid : /[email protected]:Role=-4/
ExtensionData : VMware.Vim.AuthorizationRole
Client : VMware.VimAutomation.ViCore.Impl.V1.VimClient
Вы можете указать пример объекта RoleTable? –
Да! Один момент. – kxf951
Является ли идентификатор уникальным? Если это так, вы можете попытаться изменить свой оператор if: if (($ RoleTable.SlaveRoles | select Id) -contains $ _. Id) –