检查成员是否存在于角色中

Check if member exists in role

我想检查这两个角色和成员是否已经存在,但我收到错误提示 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()
    }
}

所以 $Role.Members 是一个 RoleMemberCollection 对象。我们可以对它进行 Enumerate,因为它没有 FindByName() 方法。这将获得名称为 属性 的 RoleMember 对象。所以代码看起来像...

$memberexists = $False
$memberexists = $ROLE.Members.GetEnumerator() | ?{$_.name -like $Member} | select -First 1 | %{$True}
enter code here