我想检查两个成员是否都已经存在,但是我收到一个错误消息:FindByName
不是Member
的方法
$db = $Analysis_Server.Databases.FindByName($cube)
$ROLE = $db.Roles.FindByName($cube_ROLE)
$memberexists = $ROLE.Members.FindByName($member)
if ($ROLE) # if role exists already...check if group exists, or just add group
{
if ($memberexists)
{
write "member exists!"
}
else
{
$ROLE.Members.Add($member)
$ROLE.Update()
}
}
答案 0 :(得分:1)
所以$Role.Members
是 RoleMemberCollection对象。我们可以对其进行枚举,因为它没有方法 FindByName()。这将获得具有属性Name的 RoleMember对象。所以代码看起来像是...
$memberexists = $False
$memberexists = $ROLE.Members.GetEnumerator() | ?{$_.name -like $Member} | select -First 1 | %{$True}
enter code here