【发布时间】:2015-10-29 16:23:32
【问题描述】:
我有一个从两个中心提取的角色对象数组。
我正在尝试制作一个包含 3 列的格式化表格:角色、主、从属
后两列会出现“存在”或“缺失”。
我认为发生的问题是,当它发现该角色存在于 master 中时,它会以某种方式将 slave 列标记为“丢失”,即使我知道它在那里。
我才刚接触 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 : /VIServer=someuser@xxxx-xxxx:443/
Server :
Id : -4
Name : Anonymous
Uid : /VIServer=someuser@xxxx-xxxx:Role=-4/
ExtensionData : VMware.Vim.AuthorizationRole
Client : VMware.VimAutomation.ViCore.Impl.V1.VimClient
【问题讨论】:
-
你能提供一个 RoleTable 对象的例子吗?
-
ID 是唯一的吗?如果是这样,您可以尝试将您的 if 语句更改为: if (($RoleTable.SlaveRoles | select Id) -contains $_.Id)
-
让我试试吧! ID 是唯一的
标签: powershell scripting vmware