检查成员是否存在角色

时间:2019-01-30 03:27:34

标签: powershell ssas

我想检查两个成员是否都已经存在,但是我收到一个错误消息: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()
    }
}

1 个答案:

答案 0 :(得分:1)

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

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