/// <summary> /// Ensures the service principal. /// </summary> /// <returns>PSADServicePrincipal.</returns> public MicrosoftGraphServicePrincipal GetServicePrincipalOrNull() { string applicationId = CurrentApplicationId.ToString(); // TODO: Remove this call once Az Powershell supports MSGraphClient in Test framework. MicrosoftGraphServicePrincipal servicePrincipal = this.StorageSyncResourceManager.GetServicePrincipalOrNull(); if (servicePrincipal == null) { var oDataQuery = new ODataQuery <MicrosoftGraphServicePrincipal>(sp => sp.AppId == applicationId); servicePrincipal = MicrosoftGraphClient.FilterServicePrincipals(oDataQuery).FirstOrDefault(); } return(servicePrincipal); }
public string GetObjectIdFromServicePrincipalName(string servicePrincipalName) { if (string.IsNullOrEmpty(servicePrincipalName)) { return(null); } var odataQueryFilter = new Rest.Azure.OData.ODataQuery <MicrosoftGraphServicePrincipal>(s => s.ServicePrincipalNames.Contains(servicePrincipalName)); var servicePrincipal = _graphClient.FilterServicePrincipals(odataQueryFilter).SingleOrDefault(); if (servicePrincipal == null) { throw new AzPSInvalidOperationException(String.Format(Resources.ServicePrincipalNameDoesNotExist, servicePrincipalName)); } return(servicePrincipal.Id); }