Пример #1
0
        public IList <IAzureServicePrincipal> GetAllPrincipals()
        {
            List <IAzureServicePrincipal> _spPrincipals = new List <IAzureServicePrincipal>();
            var _client = this.GetActiveDirectoryClient();
            ///Get principals
            ///
            IPagedCollection <IServicePrincipal> _principals = null;

            try
            {
                _principals = _client.ServicePrincipals.Take(999).ExecuteAsync().Result;
                if (_principals != null)
                {
                    do
                    {
                        List <IServicePrincipal> princList = _principals.CurrentPage.ToList();
                        foreach (IServicePrincipal princ in princList)
                        {
                            var _spPrincipal = new Internal.ServicePrincipal();
                            _spPrincipal.PrincipalNames = princ.ServicePrincipalNames;
                            _spPrincipal.AppId          = princ.AppId;
                            _spPrincipal.DisplayName    = princ.DisplayName;
                            _spPrincipal.ReplyUrls      = princ.ReplyUrls;

                            var _creds = princ.PasswordCredentials;
                            if (_creds.Count != 0)
                            {
                                var _pwdCredentials = princ.PasswordCredentials.FirstOrDefault();
                                _spPrincipal.EndDate = _pwdCredentials.EndDate;
                            }

                            var _keyCreds = princ.KeyCredentials;
                            if (_keyCreds.Count != 0)
                            {
                                var _keyCredentials = princ.KeyCredentials.FirstOrDefault();
                                _spPrincipal.EndDate = _keyCredentials.EndDate;
                            }
                            _spPrincipals.Add(_spPrincipal);
                        }

                        _principals = _principals.GetNextPageAsync().Result;
                    } while (_principals != null);
                }
            }
            catch (Exception _ex)
            {
                //TOO LOGGING
                throw;
            }
            return(_spPrincipals);
        }
        public IList<IAzureServicePrincipal> GetAllPrincipals()
        {
            List<IAzureServicePrincipal> _spPrincipals = new List<IAzureServicePrincipal>();
            var _client = this.GetActiveDirectoryClient();
            ///Get principals
            ///
            IPagedCollection<IServicePrincipal> _principals = null;
            try
            {
                _principals = _client.ServicePrincipals.Take(999).ExecuteAsync().Result;
                if (_principals != null)
                {
                    do
                    {
                        List<IServicePrincipal> princList = _principals.CurrentPage.ToList();
                        foreach (IServicePrincipal princ in princList)
                        {
                            var _spPrincipal = new Internal.ServicePrincipal();
                            _spPrincipal.PrincipalNames = princ.ServicePrincipalNames;
                            _spPrincipal.AppId = princ.AppId;
                            _spPrincipal.DisplayName = princ.DisplayName;
                            _spPrincipal.ReplyUrls = princ.ReplyUrls;

                            var _creds = princ.PasswordCredentials;
                            if (_creds.Count != 0)
                            {
                                var _pwdCredentials = princ.PasswordCredentials.FirstOrDefault();
                                _spPrincipal.EndDate = _pwdCredentials.EndDate;
                            }

                            var _keyCreds = princ.KeyCredentials;
                            if(_keyCreds.Count != 0)
                            {
                                var _keyCredentials = princ.KeyCredentials.FirstOrDefault();
                                _spPrincipal.EndDate = _keyCredentials.EndDate;
                            }
                            _spPrincipals.Add(_spPrincipal);
                        }

                        _principals = _principals.GetNextPageAsync().Result;
                    } while (_principals != null);
                }
            }
            catch (Exception _ex)
            {
                //TOO LOGGING
                throw;
            }
            return _spPrincipals;
        }
Пример #3
0
        public IList <IAzureServicePrincipal> GetExpiredPrincipals()
        {
            List <IAzureServicePrincipal> _spPrincipals = new List <IAzureServicePrincipal>();
            var _client = this.GetActiveDirectoryClient();

            ///Get principals
            IPagedCollection <IServicePrincipal> _principals = null;

            try
            {
                _principals = _client.ServicePrincipals.Take(999).ExecuteAsync().Result;
                if (_principals != null)
                {
                    do
                    {
                        List <IServicePrincipal> _allSpns = _principals.CurrentPage.Where(pwdcred => pwdcred.PasswordCredentials.Count > 0).ToList();
                        var _expiredPrincipals            = _allSpns.Where(kc => kc.PasswordCredentials.FirstOrDefault().EndDate < DateTime.Now).ToList();

                        foreach (IServicePrincipal _spn in _expiredPrincipals)
                        {
                            var _spPrincipal = new Internal.ServicePrincipal();
                            _spPrincipal.PrincipalNames = _spn.ServicePrincipalNames;
                            _spPrincipal.AppId          = _spn.AppId;
                            _spPrincipal.DisplayName    = _spn.DisplayName;
                            _spPrincipal.ReplyUrls      = _spn.ReplyUrls;

                            var _creds = _spn.PasswordCredentials.FirstOrDefault();
                            _spPrincipal.EndDate = _creds.EndDate;
                            _spPrincipals.Add(_spPrincipal);
                        }
                        _principals = _principals.GetNextPageAsync().Result;
                    } while (_principals != null);
                }
            }
            catch (AggregateException ae)
            {
                //TOO LOGGING
                //       ae.Handle(HandleException);

                this.ExceptionHandler(ae);
            }

            return(_spPrincipals);
        }
Пример #4
0
        public IAzureServicePrincipal GetPrincipalByName(string name)
        {
            var _client = this.GetActiveDirectoryClient();

            try
            {
                var _principals = _client.ServicePrincipals.Where(p => p.AppDisplayName.Contains(name)).ExecuteAsync().Result;

                var _principal = _principals.CurrentPage.FirstOrDefault();
                if (_principal != null)
                {
                    var _spPrincipal = new Internal.ServicePrincipal();
                    _spPrincipal.AppId          = _principal.AppId;
                    _spPrincipal.DisplayName    = _principal.DisplayName;
                    _spPrincipal.PrincipalNames = _principal.ServicePrincipalNames;

                    var _creds = _principal.KeyCredentials.ToList();
                    if (_creds.Count != 0)
                    {
                        var _keyCredential = _creds.FirstOrDefault();
                        _spPrincipal.EndDate = _keyCredential.EndDate;
                    }

                    _spPrincipal.ReplyUrls = _principal.ReplyUrls;
                    return(_spPrincipal);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception _ex)
            {
                //TOO LOGGING
                throw;
            }
        }
        public IAzureServicePrincipal GetPrincipalByName(string name)
        {
            var _client = this.GetActiveDirectoryClient();

            try
            {
                var _principals = _client.ServicePrincipals.Where(p => p.AppDisplayName.Contains(name)).ExecuteAsync().Result;

                var _principal = _principals.CurrentPage.FirstOrDefault();
                if (_principal != null)
                {
                    var _spPrincipal = new Internal.ServicePrincipal();
                    _spPrincipal.AppId = _principal.AppId;
                    _spPrincipal.DisplayName = _principal.DisplayName;
                    _spPrincipal.PrincipalNames = _principal.ServicePrincipalNames;

                    var _creds = _principal.KeyCredentials.ToList();
                    if (_creds.Count != 0)
                    {
                        var _keyCredential = _creds.FirstOrDefault();
                        _spPrincipal.EndDate = _keyCredential.EndDate;
                    }

                    _spPrincipal.ReplyUrls = _principal.ReplyUrls;
                    return _spPrincipal;
                }
                else
                { return null; }

            }
            catch (Exception _ex)
            {
                //TOO LOGGING
                throw;
            }
        }
        public IList<IAzureServicePrincipal> GetExpiredPrincipalsInDays(double numberOfDays)
        {
            List<IAzureServicePrincipal> _spPrincipals = new List<IAzureServicePrincipal>();
            var _client = this.GetActiveDirectoryClient();

            IPagedCollection<IServicePrincipal> _principals = null;
            try
            {
                _principals = _client.ServicePrincipals.Take(999).ExecuteAsync().Result;
                if (_principals != null)
                {
                    do
                    {
                        List<IServicePrincipal> _allSpns = _principals.CurrentPage.Where(pwdcred => pwdcred.PasswordCredentials.Count > 0).ToList();
                        var _expiredPrincipals = _allSpns.Where(kc => kc.PasswordCredentials.FirstOrDefault().EndDate >= DateTime.Now && kc.PasswordCredentials.FirstOrDefault().EndDate <= DateTime.Now.AddDays(numberOfDays)).ToList();
                        foreach (IServicePrincipal _spn in _expiredPrincipals)
                        {
                            var _spPrincipal = new Internal.ServicePrincipal();
                            _spPrincipal.PrincipalNames = _spn.ServicePrincipalNames;
                            _spPrincipal.AppId = _spn.AppId;
                            _spPrincipal.DisplayName = _spn.DisplayName;
                            _spPrincipal.ReplyUrls = _spn.ReplyUrls;

                            var _creds = _spn.PasswordCredentials.FirstOrDefault();
                            _spPrincipal.EndDate = _creds.EndDate;
                            _spPrincipals.Add(_spPrincipal);
                        }
                        _principals = _principals.GetNextPageAsync().Result;
                    } while (_principals != null);
                }
            }
            catch (Exception _ex)
            {
                //TOO LOGGING
                throw;
            }
            return _spPrincipals;
        }
        public IList<IAzureServicePrincipal> GetExpiredPrincipals()
        {
            List<IAzureServicePrincipal> _spPrincipals = new List<IAzureServicePrincipal>();
            var _client = this.GetActiveDirectoryClient();

            ///Get principals
            IPagedCollection<IServicePrincipal> _principals = null;
            try
            {

                _principals = _client.ServicePrincipals.Take(999).ExecuteAsync().Result;
                if (_principals != null)
                {
                    do
                    {
                        List<IServicePrincipal> _allSpns = _principals.CurrentPage.Where(pwdcred => pwdcred.KeyCredentials.Count > 0).ToList();
                        var _expiredPrincipals = _allSpns.Where(kc => kc.KeyCredentials.FirstOrDefault().EndDate < DateTime.Now).ToList();

                        foreach (IServicePrincipal _spn in _expiredPrincipals)
                        {
                            var _spPrincipal = new Internal.ServicePrincipal();
                            _spPrincipal.PrincipalNames = _spn.ServicePrincipalNames;
                            _spPrincipal.AppId = _spn.AppId;
                            _spPrincipal.DisplayName = _spn.DisplayName;
                            _spPrincipal.ReplyUrls = _spn.ReplyUrls;

                            var _creds = _spn.KeyCredentials.FirstOrDefault();
                            _spPrincipal.EndDate = _creds.EndDate;
                            _spPrincipals.Add(_spPrincipal);
                        }
                        _principals = _principals.GetNextPageAsync().Result;
                    } while (_principals != null);
                }
            }
            catch(AggregateException ae)
            {
                //TOO LOGGING
                //       ae.Handle(HandleException);

                this.ExceptionHandler(ae);
            }

            return _spPrincipals;
        }