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