public static PSADServicePrincipal ToPSADServicePrincipal(this ServicePrincipal servicePrincipal) { var adSp = new PSADServicePrincipal() { DisplayName = servicePrincipal.DisplayName, ApplicationId = Guid.Parse(servicePrincipal.AppId), ServicePrincipalNames = servicePrincipal.ServicePrincipalNames.ToArray(), }; return((PSADServicePrincipal)AssignObjectId(adSp, servicePrincipal.ObjectId)); }
public PSADServicePrincipal GetServicePrincipalByObjectId(string objectId) { PSADServicePrincipal servicePrincipal = null; try { servicePrincipal = GraphClient.ServicePrincipals.Get(objectId).ToPSADServicePrincipal(); } catch { /* The service principal does not exist, ignore the exception. */ } return(servicePrincipal); }
public PSADServicePrincipal GetServicePrincipalBySPN(string spn) { PSADServicePrincipal servicePrincipal = null; try { var odataQuery = new Rest.Azure.OData.ODataQuery <ServicePrincipal>(s => s.ServicePrincipalNames.Contains(spn)); servicePrincipal = GraphClient.ServicePrincipals.List(odataQuery.ToString()).FirstOrDefault()?.ToPSADServicePrincipal(); } catch { /* The service principal does not exist, ignore the exception. */ } return(servicePrincipal); }
public PSADServicePrincipal RemoveServicePrincipal(Guid objectId) { var objectIdString = objectId.ToString(); PSADServicePrincipal servicePrincipal = FilterServicePrincipals(new ADObjectFilterOptions() { Id = objectId.ToString() }).FirstOrDefault(); if (servicePrincipal != null) { GraphClient.ServicePrincipals.Delete(objectIdString); } else { throw new KeyNotFoundException(string.Format(ProjectResources.ServicePrincipalDoesntExist, objectId)); } return(servicePrincipal); }