Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 2
Регистрация: 26.02.2012
Сообщений: 9
1

Изменение сетевых настроек на удаленной машине через netsh

20.12.2012, 14:22. Показов 2944. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: поменять настройки сети на удаленной машине. Логин и пароль к ней имеются.

В коде C# через netsh на локальном машине меняется, на удаленной не получается.
Через командную строку получается менять и на локальной и на удаленной машине.

код в C#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
            Process p = new Process();
            p.StartInfo.FileName = "netsh.exe";
            
            StringBuilder parameters = new StringBuilder();
            parameters.Append("-r 199.99.9.99 -u admin -p admin");
 
            if (dhcp_radioButton.Checked == true)
            {
                parameters.Append(" interface ip set address name=\"").Append(name_network_textBox.Text);
                parameters.Append("\" dhcp");
            }
            else
            {
                parameters.Append(" interface ip add address name=\"").Append(name_network_textBox.Text);
                parameters.Append("\" addr=").Append(newIP_textBox.Text);
                parameters.Append(" mask=").Append(mask_textBox.Text);
                parameters.Append(" gateway=").Append(gateway_textBox.Text);
                parameters.Append(" gwmetric=").Append("1");
            }
 
            p.StartInfo.Arguments = parameters.ToString();
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;
            p.StartInfo.RedirectStandardOutput = true;
       
           p.Start();
Если исключить эту строчку, то на локальной машине все работает
C#
1
            parameters.Append("-r 199.99.9.99 -u admin -p admin");
Но надо на удаленной, у кого есть работающий исходник? Или может кто знает другой способ?

В другой теме
Изменить в настройках сети протокол интернета (TCP/IP)
предлагают такой способ изменить настройки сети, но как сделать это на удаленной машине?
Отрывок кода:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 /// <summary>
        /// Set's a new Gateway address of the local machine
        /// </summary>
        /// <param name="gateway">The Gateway IP Address</param>
        /// <remarks>Requires a reference to the System.Management namespace</remarks>
        public static void SetGateway(string gateway) {
            ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection objMOC = objMC.GetInstances();
 
            foreach (ManagementObject objMO in objMOC) {
                if ((bool)objMO["IPEnabled"]) {
                    try {
                        ManagementBaseObject setGateway;
                        ManagementBaseObject newGateway =
                            objMO.GetMethodParameters("SetGateways");
 
                        newGateway["DefaultIPGateway"] = new string[] { gateway };
                        newGateway["GatewayCostMetric"] = new int[] { 1 };
 
                        setGateway = objMO.InvokeMethod("SetGateways", newGateway, null);
                    } catch (Exception) {
                        throw;
                    }
                }
            }
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2012, 14:22
Ответы с готовыми решениями:

Win7, изменение шлюза через netsh - разрыв соединения
Здравствуйте! Мне необходимо время от времени убирать/включать шлюз у соединения, использую ...

Обновление Windows через WUAapi на удаленной машине
Всем пришедшим доброго времени суток! Немного предыстории (на случай, если у кого-то возникнут...

Запустить программу на удаленной машине через сеть
Здравствуйте, подскажите как можно запустить бат файл, который исполнится на другом компьютере в...

Изменение настроек UAC через GPO
Имеется windows server 2003 с group policy management, нужно изменить настройки контроля учетных...

1
0 / 0 / 2
Регистрация: 26.02.2012
Сообщений: 9
22.12.2012, 08:58  [ТС] 2
Спрошу по другому...
На локальной машине в режим dhcp сетевая переходит, ниже работающий код
C#
1
2
3
4
5
            Process p = new Process();
            p.StartInfo.FileName = "netsh.exe";
            
            StringBuilder parameters = new StringBuilder();
            parameters.Append(" interface ip set address name=local dhcp");
На удаленной машине нет, ниже не работающий код. Как сделать или что исправить? Или каким другим способом не через netsh?
C#
1
2
3
4
5
6
            Process p = new Process();
            p.StartInfo.FileName = "netsh.exe";
            
            StringBuilder parameters = new StringBuilder();
            parameters.Append(" -r 199.99.9.99 -u admin -p admin");
            parameters.Append(" interface ip set address name=local dhcp");
И так тоже не работает, ниже не работающий код.
C#
1
2
3
4
5
6
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";
            
            StringBuilder parameters = new StringBuilder();
            parameters.Append(" netsh -r 199.99.9.99 -u admin -p admin");
            parameters.Append(" interface ip set address name=local dhcp");
0
22.12.2012, 08:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2012, 08:58
Помогаю со студенческими работами здесь

Изменение настроек рабочего стола через реестр
Возможно ли при помощи реестра спрятать, например, корзину или значки на робочем столе, сменить...

Время на удаленной машине
Доброго времени суток! Необходимо получать время на удаленной машине, что использовать для этого,...

Коннект к удалённой машине
может ктонибудь знает благодаря каким компонентам осуществляеться связка с mysql БД, и вообще...

Подключение к удаленной машине
почему я не могу подключиться к удаленной машине??? вот код public bool Connect() ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru