Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Настройка локально сети и прокси

Ответить
Настройки темы
CMD/BAT - [решено] Настройка локально сети и прокси

Аватара для lancom

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте. Есть очень интересная задача. Нужно настроить порядка 300 копов в разных школах на новый интернет. По новы требованиям ЕСПД от Ростелекома, нужно настраивать каждый комп по отдельности. В настройку входит статичный ip, прокси и сертификат.
Есть огромное желание реализовать это посредством BAT-ника. Нужно следующее:
1. Перечисление всех доступных сетевых интерфейсов с выбором желаемого.
2. Прописать на выбранном сетевом интерфейсе ip, маску, шлюз, 2 днс. Причем последний сегмент ip должен вводиться ручками в скрипте.
3. Прописать прокси сервер.
4. Установить Доверенный корневой сертификат. Он есть как файлом сертификата так и msi пакетом. Можно использовать любой вариант. Единственное я не нашёл если возможность убрать подтверждение о добавление сертификата.

Я нашел в соседней теме как прописать настройки сети, но никак не разберусь как сделать выбор интерфейса.
Код: Выделить весь код
set /p settings="Введите IP-адрес:"
set IFACE="Подключение по локальной сети"
netsh interface ip set address "Подключение по локальной сети" static 192.168.8.%settings% 255.255.255.0 192.168.8.10 0
Для сертификата и прокси я собрал sfx архив. Но у него есть недостаток. Если в системе 2 учётные записи, то он прописывает эти данные в Администраторскую учётку, а в пользовательскую нет. Хотя запущен в пользовательской. Вот пример того что я наваял: Ссылка на Я.диск

Дальше мне не хватает серого вещества поэтому прошу помощи.

Отправлено: 09:13, 13-03-2022

 

Аватара для NickM

Ветеран


Contributor


Сообщения: 4624
Благодарности: 1109

Профиль | Отправить PM | Цитировать


Цитата lancom:
но никак не разберусь как сделать выбор интерфейса. »
Например, можно перечислить/ узнать активные сетевые адаптеры, в случае единственного записать его наименование в переменную, после задать ему настройки/ параметры:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

echo.###Active LAN connection###
for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value') do echo.%%a
Цитата lancom:
Установить Доверенный корневой сертификат. Он есть как файлом сертификата так »
В таком случае удобней воспользоваться утилитой certmgr и установить сертификат в хранилище ROOT локального компьютера.

Отправлено: 09:50, 13-03-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для NickM

Ветеран


Contributor


Сообщения: 4624
Благодарности: 1109

Профиль | Отправить PM | Цитировать


Цитата lancom:
Нужно настроить порядка 300 компов в разных школах на новый интернет. »
А вообще, конечно же, Вам лучше поднять и настроить "DHCP" сервер, и не затевать раздачу ручных сетевых настроек.
Как вариант, настроить "SAMBA-DC" сервер и администрировать такое кол-во АРМ станет намного удобней.

По указанию прокси - в случае командного сценария, задавать можно, например, с помощью прямой записи в реестр.

И да, 300 АРМ, это количество больше допустимого одного сегмента сети, как Вы будете разделять сегменты сети, устанавливать роутер?

Насколько помню, школам выдаётся фиксированное кол-во доступных "виртуальных" IP-адресов, но это конечно же не проблема, адресацию можно вести и Свою, локальную.

Отправлено: 10:08, 13-03-2022 | #3


Аватара для lancom

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off

setlocal enabledelayedexpansion

echo.###Active LAN connection###
for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value') do echo.%%a

set /p settings="Введите IP-адрес:"
set IFACE="Подключение по локальной сети"
netsh interface ip set address "Подключение по локальной сети" static 192.168.8.%settings% 255.255.255.0 192.168.8.10 0
Я не овем понял какая переменная идёт в использование?

ПК находятся в разных учебных заведениях.

Отправлено: 10:24, 13-03-2022 | #4


Аватара для NickM

Ветеран


Contributor


Сообщения: 4624
Благодарности: 1109

Профиль | Отправить PM | Цитировать


Цитата lancom:
Я не cовем понял какая переменная идёт в использование? »
То был просто пример, для понимания.

С переменной будет так (здесь следует учитывать, что активных соединений, в некоторых случаях, может быть более одного):
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value') do set ActLANConn=%%a

set /p settings="Введите IP-адрес:"
set IFACE="Подключение по локальной сети"
netsh interface ip set address "%ActLANConn%" static 192.168.8.%settings% 255.255.255.0 192.168.8.10 0

Отправлено: 10:42, 13-03-2022 | #5


Аватара для lancom

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


А можно какой нибудь командой отображать какой интерфейс он настраивает? Так как активных может быть 2 но ОС показывает в трее тот на котором есть интернет. И не совсем понятно какой интерфейс настраивает скрипт.

Отправлено: 12:01, 13-03-2022 | #6


Аватара для NickM

Ветеран


Contributor


Сообщения: 4624
Благодарности: 1109

Профиль | Отправить PM | Цитировать


Цитата lancom:
А можно какой-нибудь командой отображать какой интерфейс он настраивает? »
Можно, добавьте, в нужное Вам место, как было предложено изначально - отображение активного сетевого интерфейса:
Код: Выделить весь код
echo.%%a
Цитата lancom:
Так как активных может быть 2 но ОС показывает в трее тот на котором есть интернет. И не совсем понятно какой интерфейс настраивает скрипт. »
В переменной %%a окажется последний перечисленный активный сетевой интерфейс.
Замечу, что именно об этом и было сказано изначально:
Цитата:
в случае единственного записать его наименование в переменную, после задать ему настройки/ параметры:
Хотя, кончено, два и более активных сетевых интерфейса в системе это скорее исключение/ редкий случай, тем более в школе.

Отправлено: 13:45, 13-03-2022 | #7


Аватара для lancom

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


А что нужно изменить в моем скрипте, чтоб прокси прописывался на все учётные записи компьютера.
Код: Выделить весь код
Echo ProxyServer:
echo 1. Vklu4enie proxy
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0x00000001 /f
echo 2. Zapret na ispolzovanie dla localnoy seti
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "<local>" /f
echo 3. Ukazanie adresa i porta proxy
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d 10.0.62.52:3128 /f

Отправлено: 14:04, 13-03-2022 | #8


Аватара для NickM

Ветеран


Contributor


Сообщения: 4624
Благодарности: 1109

Профиль | Отправить PM | Цитировать


Полагаю, что можно/ следует перечислить ветки в:
Код: Выделить весь код
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\
где считать SID пользователей, которые уже в дальнейшем и использовать, для Своих задач, в ветке пользователей:
Код: Выделить весь код
HKEY_USERS

Отправлено: 14:20, 13-03-2022 | #9


Аватара для NickM

Ветеран


Contributor


Сообщения: 4624
Благодарности: 1109

Профиль | Отправить PM | Цитировать


Например, вот один из вариантов считывания SID пользователей, а после получение значения "ProxyEnable" каждого пользователя:

Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

for /f "tokens=7 delims='\'" %%i in ('reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList"') do (
echo.%%i > %temp%\tmp.tmp
for %%? in (%temp%\tmp.tmp) do ( set /a strlen=%%~z? - 3 )
if !strlen! NEQ 8 (
echo.%%i
for /F "tokens=3" %%j in ('reg query "HKEY_USERS\%%i\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "ProxyEnable"  2^> nul') do (
echo.%%j
)
)
)
pause

Отправлено: 14:56, 13-03-2022 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Настройка локально сети и прокси

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Proxy/NAT - [решено] Прокси локально N1ko_O Сетевые технологии 13 19-11-2013 19:28
FTP/File - доступ к файлам локально сети. KoRn0509 Сетевые технологии 1 23-02-2013 07:31
Route/Bridge - VirtualBox настройка прокси для виртуальной - локальной сети? sagepro Сетевые технологии 0 10-03-2010 15:35
Прочее - нет доступа к принтеру по локально сети Intergo Сетевые технологии 4 15-10-2009 19:22
Прочее - Подключенеи к локально сети - странное поведение Marielito07 Сетевые технологии 3 13-10-2008 16:23




 
Переход