コード例 #1
0
        /// <summary>
        /// Подключение по RDP к виртуальным серверам, с проверкой адреса и домена, перед вызовом клиента MSTSC.
        /// </summary>
        private async void ToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            byte   rowID     = VirRowID;
            string adress    = dataGridView3[2, rowID].Value.ToString();
            string domain    = dataGridView3[3, rowID].Value.ToString();
            string _domainEN = "vt";
            string _domainRU = "вт";
            bool   _adress   = adress.Trim() == string.Empty || adress == null ? true : false;
            bool   _Domain   = domain.Trim() == string.Empty || domain == null ? true : false;

            // Если ip и домен заданы, при этом домен, действительно, относится к vt.
            if (!_adress && (!_Domain && (domain.Trim().ToLower().Contains(_domainEN) || domain.Trim().ToLower().Contains(_domainRU) || domain.Trim().ToLower().Contains("wg: ecm"))))
            {
                if (await CMD.PingAsync(adress))
                {
                    MSTSC mstsc = new MSTSC(adress.Trim(), _domainEN);
                    mstsc.Show();
                }
                else
                {
                    MessageBox.Show("Сервер не в сети. Обновите данные и проверьте подключение", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            // Если адрес не задан, и домен пустой или не включает подстроку vt (вт)
            else if (_adress & (_Domain || !domain.Trim().ToLower().Contains(_domainEN) || !domain.Trim().ToLower().Contains(_domainRU)))
            {
                if (_adress)
                {
                    MessageBox.Show("Не задан IP адрес подключаемого сервера.", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else
                {
                    MessageBox.Show("Не указан или некорректно задан домен сервера.", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
            }
            //07.05.2018: Дать возможность подключаться к домену есм из виртуальных серверов
            else if (!_adress && domain == "ecm.ecmgroup.pro")
            {
                if (await CMD.PingAsync(adress))
                {
                    MSTSC mstsc = new MSTSC(adress.Trim(), domain);
                    mstsc.Show();
                }
                else
                {
                    MessageBox.Show("Сервер не в сети. Обновите данные и проверьте подключение", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Подключение по RDP к физическим серверам, с проверкой адреса и домена, перед вызовом клиента MSTSC.
        /// </summary>
        private async void ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            byte   rowID     = PhyRowID;
            string adress    = dataGridView1[2, rowID].Value.ToString();
            string domain    = dataGridView1[3, rowID].Value.ToString();
            string _domainEN = "ecm";
            string _domainRU = "есм";
            bool   _adress   = adress.Trim() == string.Empty || adress == null ? true : false;
            bool   _Domain   = domain.Trim() == string.Empty || domain == null ? true : false;

            // Если ip и домен заданы, при этом домен, действительно, относится к ecm.
            if (true)//!_adress && (!_Domain && (domain.Trim().ToLower().Contains(_domainEN) || domain.Trim().ToLower().Contains(_domainRU))))
            {
                if (await CMD.PingAsync(adress))
                {
                    MSTSC mstsc = new MSTSC(adress.Trim());//, _domainEN);
                    mstsc.Show();
                }
                else
                {
                    MessageBox.Show("Сервер не в сети. Обновите данные и проверьте подключение", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            // Если адрес не задан, а домен пустой или не включает подстроку ecm (есм)
            else if (_adress || (_Domain || !domain.Trim().ToLower().Contains(_domainEN) || !domain.Trim().ToLower().Contains(_domainRU)))
            {
                if (_adress)
                {
                    MessageBox.Show("Не задан IP адрес подключаемого сервера.", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                // Проверка по домену не проходит.
                else
                {
                    MessageBox.Show("Не указан или некорректно задан домен сервера.", "Production servers", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
            }
        }