Hi All,
I have one scenario where i need to read the cube role for one cube and create the same in the another cube on the same server. I am able to create the cube role and adding members in it as per the source cube role. But am stuck while adding the permission from source cube role to target cube role. Below is script. Could you please help me out.
param ($Servername ="Servername", $databasename ="cube-1", $databasename1 = "Cube-2" ) $loadInfo = [Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices") $svr = new-Object Microsoft.AnalysisServices.Server $svr.Connect($ServerName) $db = $svr.Databases.FindByName($databasename) $db1 = $svr.Databases.FindByName($databasename1) #$rolename ="ReportViewer" #Create Role #$db1.Roles.Add($roleToCreate) Foreach($rolename in $db.Roles) { $roleToCreate = new-Object([Microsoft.AnalysisServices.Role])($rolename) $db1.Roles.Add($roleToCreate) foreach ($UserName in $db.Roles.FindByName($rolename).Members) { #add-rolemember -MemberName $UserName -Server $Servername -Database $db1 -RoleName $rolename $roleToCreate.Members.Add($UserName) } $roleToCreate.Update() #$dbperm1 = $db1.DatabasePermissions.FindByRole($rolename) $dbperm = $db.DatabasePermissions.GetByRole($rolename.ID) $Rvalue = $dbperm.ReadDefinition.value__ $Avalue = $dbperm.Administer.value__ $Pvalue = $dbperm.Process.value__ If($dbperm.ReadDefinition.Equals($True)) { $dbperm1 = $db1.DatabasePermissions.Add($rolename.ID) $dbperm1.Administer = [Microsoft.AnalysisServices.ReadAccess]::Allowed $dbperm1.Update() } } $svr.Disconnect()
Regards,
Sagar