I am trying to register users for SSPR using a powershell script. When I run the script, I get this below error. I have tried enabling multiple MPRs, creating new MPRs for giving access but all in vain.
Power shell error:
Register-AuthenticationWorkflow : No policy grants the Requestor permission to complete all changes. At C:\Users\mimadmin\Desktop\MIM\sspr.ps1:25 char:1+ Register-AuthenticationWorkflow -UserName "$Domain$AccountName" -AuthenticationW ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo : NotSpecified: (:) [Register-AuthenticationWorkflow], ClientPermissionDeniedException+ FullyQualifiedErrorId : Microsoft.ResourceManagement.WebServices.Client.Exceptions.ClientPermissionDeniedExcepti on,Microsoft.ResourceManagement.Automation.RegisterAuthenticationWorkflow
When I check event view logs, I get these error logs:
Reraised Error 50000, Level 16, State 1, Procedure DoEvaluateRequestInner, Line 1319, Message: Permission denied: <ai><Name>DisplayName</Name></ai><ai><Name>GateData</Name></ai><ai><Name>GateID</Name></ai><ai><Name>GateTypeId</Name></ai><ai><Name>ObjectType</Name></ai><ai><Name>UserID</Name></ai><ai><Name>WorkflowDefinition</Name></ai>
Requestor: urn:uuid:7fb2b853-24f0-4498-9534-4e10589723c4 Correlation Identifier: f882774e-9749-47b4-99af-447941ce9d02 Microsoft.ResourceManagement.Service: Microsoft.ResourceManagement.WebServices.Exceptions.PermissionDeniedException: ManagementPolicyRule ---> System.Data.SqlClient.SqlException: Reraised Error 50000, Level 16, State 1, Procedure DoEvaluateRequestInner, Line 1319, Message: Permission denied: <ai><Name>DisplayName</Name></ai><ai><Name>GateData</Name></ai><ai><Name>GateID</Name></ai><ai><Name>GateTypeId</Name></ai><ai><Name>ObjectType</Name></ai><ai><Name>UserID</Name></ai><ai><Name>WorkflowDefinition</Name></ai> at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at Microsoft.ResourceManagement.Data.DataAccess.DoRequestCreation(RequestType request, Guid cause, Guid requestMarker, Boolean doEvaluation, Int16 serviceId, Int16 servicePartitionId) --- End of inner exception stack trace --- at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier targetIdentifier, OperationType operation, String businessJustification, List`1 requestParameters, CultureInfo locale, Boolean isChildRequest, Guid cause, Boolean doEvaluation, Nullable`1 serviceId, Nullable`1 servicePartitionId, UniqueId messageIdentifier, UniqueIdentifier requestContextIdentifier, Boolean maintenanceMode) at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier targetIdentifier, OperationType operation, String businessJustification, List`1 requestParameters, CultureInfo locale, Boolean isChildRequest, Guid cause, Boolean doEvaluation, Nullable`1 serviceId, Nullable`1 servicePartitionId, UniqueId messageIdentifier) at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Create(Message request)
Microsoft.ResourceManagement.WebServices.Exceptions.PermissionDeniedException: ManagementPolicyRule ---> System.Data.SqlClient.SqlException: Reraised Error 50000, Level 16, State 1, Procedure DoEvaluateRequestInner, Line 1319, Message: Permission denied: <ai><Name>DisplayName</Name></ai><ai><Name>GateData</Name></ai><ai><Name>GateID</Name></ai><ai><Name>GateTypeId</Name></ai><ai><Name>ObjectType</Name></ai><ai><Name>UserID</Name></ai><ai><Name>WorkflowDefinition</Name></ai> at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at Microsoft.ResourceManagement.Data.DataAccess.DoRequestCreation(RequestType request, Guid cause, Guid requestMarker, Boolean doEvaluation, Int16 serviceId, Int16 servicePartitionId) --- End of inner exception stack trace ---
Below is my script, that I am trying to execute:
Add-PSSnapin FIMAutomation $AccountName = "fmajeed" $Email = "fahad.majeed@xnrel.com" $FNAME = "fahad" $LNAME = "majeed" $MOBILE ="0000000000" $CNIC = "000000000000" $PASSPORT ="00000000" $DOB = "00-00-0000" $Domain = "AD\" if($Email) { $template = Get-AuthenticationWorkflowRegistrationTemplate -AuthenticationWorkflowName 'Password Reset AuthN Workflow For Students' $template.GateRegistrationTemplates[0].Data[0].Value = $FNAME $template.GateRegistrationTemplates[0].Data[1].Value = $LNAME $template.GateRegistrationTemplates[0].Data[2].Value = $MOBILE $template.GateRegistrationTemplates[0].Data[3].Value = $CNIC $template.GateRegistrationTemplates[0].Data[4].Value = $PASSPORT $template.GateRegistrationTemplates[0].Data[5].Value = $DOB Register-AuthenticationWorkflow -UserName "$Domain$AccountName" -AuthenticationWorkflowRegistrationTemplate $template Write-Host "Register Successfully"; } else { Unregister-AuthenticationWorkflow -UserName "$Domain$AccountName" -AuthenticationWorkflowName 'Password Reset AuthN Workflow For Students' }
F.