Exemple #1
0
        /// <summary>
        /// Get a list of mailbox databases and their sizes
        /// </summary>
        /// <returns></returns>
        public List <StatMailboxDatabaseSizes> Get_MailboxDatabaseSizes()
        {
            List <StatMailboxDatabaseSizes> returnList = new List <StatMailboxDatabaseSizes>(100);

            PSCommand cmd = new PSCommand();

            cmd.AddCommand("Get-MailboxDatabase");
            cmd.AddParameter("Status");
            if (Config.ServiceSettings.ExchangeVersion > 2010)
            {
                cmd.AddParameter("IncludePreExchange2013");
            }
            cmd.AddParameter("DomainController", Config.ServiceSettings.PrimaryDC);
            _powershell.Commands = cmd;

            Collection <PSObject> psObjects = _powershell.Invoke();

            if (_powershell.HadErrors)
            {
                throw _powershell.Streams.Error[0].Exception;
            }

            DateTime retrieved = DateTime.Now;

            foreach (var ps in psObjects)
            {
                StatMailboxDatabaseSizes newEntry = new StatMailboxDatabaseSizes();
                newEntry.DatabaseName = ps.Members["Identity"].Value.ToString();
                newEntry.Server       = ps.Members["Server"].Value.ToString();
                newEntry.Retrieved    = retrieved;

                if (ps.Members["DatabaseSize"].Value != null)
                {
                    newEntry.DatabaseSize        = ps.Members["DatabaseSize"].Value.ToString();
                    newEntry.DatabaseSizeInBytes = GetExchangeBytes(newEntry.DatabaseSize);
                }
                else
                {
                    newEntry.DatabaseSize        = "0 MB (0 bytes)";
                    newEntry.DatabaseSizeInBytes = 0;
                }

                returnList.Add(newEntry);
            }

            return(returnList);
        }
        /// <summary>
        /// Get a list of mailbox databases and their sizes
        /// </summary>
        /// <returns></returns>
        public List<StatMailboxDatabaseSizes> Get_MailboxDatabaseSizes()
        {
            List<StatMailboxDatabaseSizes> returnList = new List<StatMailboxDatabaseSizes>(100);

            PSCommand cmd = new PSCommand();
            cmd.AddCommand("Get-MailboxDatabase");
            cmd.AddParameter("Status");
            if (Config.ServiceSettings.ExchangeVersion > 2010) { cmd.AddParameter("IncludePreExchange2013"); }
            cmd.AddParameter("DomainController", Config.ServiceSettings.PrimaryDC);
            _powershell.Commands = cmd;

            Collection<PSObject> psObjects = _powershell.Invoke();
            if (_powershell.HadErrors)
                throw _powershell.Streams.Error[0].Exception;

            DateTime retrieved = DateTime.Now;
            foreach (var ps in psObjects)
            {
                StatMailboxDatabaseSizes newEntry = new StatMailboxDatabaseSizes();
                newEntry.DatabaseName = ps.Members["Identity"].Value.ToString();
                newEntry.Server = ps.Members["Server"].Value.ToString();
                newEntry.Retrieved = retrieved;

                if (ps.Members["DatabaseSize"].Value != null)
                {
                    newEntry.DatabaseSize = ps.Members["DatabaseSize"].Value.ToString();
                    newEntry.DatabaseSizeInBytes = GetExchangeBytes(newEntry.DatabaseSize);
                }
                else
                {
                    newEntry.DatabaseSize = "0 MB (0 bytes)";
                    newEntry.DatabaseSizeInBytes = 0;
                }

                returnList.Add(newEntry);
            }
            
            return returnList;
        }