Согласно документации для класса ModelRole, конструктор не принимает никаких аргументов, как это делал более старый класс Role. Вам нужно будет создать пустое ModelRole, обновить любые свойства, которые вы хотите, а затем добавить его в ModelRoleCollection.
$AddRole = new-Object Microsoft.AnalysisServices.Tabular.ModelRole
$AddRole.Name = 'NewRole1'
$RoleMember = New-Object Microsoft.AnalysisServices.Tabular.ModelRoleMember
$RoleMember.MemberName = 'member1'
$AddRole.Members.Add($RoleMember)
$TabDB.Model.Roles.Add($AddRole)
На самом деле мне нечего тестировать, но приведенное выше должно создать роль, затем участника, добавить участника в роль, а затем добавить роль в вашу базу данных, если я правильно понимаю документацию, которую я связал.
Как уже отмечалось, для ModelRoleMember нет конструктора, вместо этого вы должны использовать производные классы, у которых есть конструктор:
$RoleMember = New-Object Microsoft.AnalysisServices.Tabular.ExternalModelRoleMember
или
$RoleMember = New-Object Microsoft.AnalysisServices.Tabular.WindowsModelRoleMember
Что касается добавления разрешений, вам нужно обратиться к документации. Похоже, вам придется создать Microsoft.AnalysisServices.Tabular.TablePermission
объекты, установить их свойства, а затем добавить их в свойство TablePermissions $AddRole
.