检查角色中是否存在成员



我想检查两个角色和成员是否已经存在,但我收到错误,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对象。我们可以枚举它,因为它没有方法FindByName()。这将获取具有属性 Name 的 RoleMember 对象。所以代码的样子是...

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

最新更新