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

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

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

Пользователь


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

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


возможно ли написать скрипт, генерирующий рандомные mac-адреса?

за основу можно взять этот скрипт:
reg add "hklm\system\currentcontrolset\control\class\{4D36E972-E325-11CE-BFC1-08002bE10318}\000x" /v "networkaddress" /t reg_sz /d "xxxxxxxxxxxxx" /f

где:
000x - ветвь принадлежащая соответствующему сетевому адаптеру
xxxxxxxxxxxxx - mac-адрес

Отправлено: 18:59, 19-02-2011

 

Старожил


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

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


Как-то так.
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion EnableExtensions
Set TotalChars=16
Set GenerateChars=12
Set CharSet=0123456789ABCDEF
:Loop
Set /A Rnd=%TotalChars%*%Random%/32768
Set Mac=!CharSet:~%Rnd%,1!%Mac%
Set /A GenerateChars-=1
If %GenerateChars% GTR 0 GoTo Loop
Reg add "hklm\system\currentcontrolset\control\class\{4D36E972-E325-11CE-BFC1-08002bE10318}\000x" /v "networkaddress" /t reg_sz /d "%Mac%" /f

Отправлено: 20:07, 19-02-2011 | #2



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

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


Googler


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

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


или так:
Код: Выделить весь код
@echo off
SETLOCAL EnableDelayedExpansion
(
set "map=0-0;1-1;2-2;3-3;4-4;5-5;6-6;7-7;8-8;9-9;10-a;11-b;12-c;13-d;14-e;15-f"
set "mac="& for /l %%a in (1,1,12) do (set /a $a=!RANDOM!%%16
call set "$b=%%map:*!$a!-=%%"& set "mac=!mac!!$b:~,1!"))

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\000x" /v "NetworkAddress" /t REG_SZ /d "%mac%" /f

Отправлено: 08:58, 20-02-2011 | #3


Пользователь


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

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


первый скрипт не работает
второй скрипт меняет mac на фиксированный 00AC00000000, при последующем применении скрипта меняет на такой же.

Отправлено: 13:22, 20-02-2011 | #4


Старожил


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

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


Первый скрипт работает. Поставь перед "reg add ..." Echo и убедись сам - каждый раз генерируется разный адрес.

Отправлено: 13:37, 20-02-2011 | #5


Googler


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

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


однако протупил, можно короче:
Код: Выделить весь код
@echo off
SETLOCAL EnableDelayedExpansion
(
set "map=0123456789abcdef"
set "mac="& for /l %%a in (1,1,12) do set /a $a=!RANDOM!%%16& call set "mac=!mac!%%map:~!$a!,1%%"
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\000x" /v NetworkAddress /t REG_SZ /d "!mac!" /f
)

Отправлено: 11:52, 21-02-2011 | #6


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


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

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


@echo off
del /F /S /Q mac1.txt > nul
del /F /S /Q mac.txt > nul
color 0a
cls
:restart
set /a y=1
goto begin2
:begin
set /a y=y+1
:begin2
REM ЗАМЕНА ГЕНЕРИРУЕМЫХ ЧИСЕЛ НА ABCDEF
set /a var=16*%random%/32768
if %var%==10 SET var=A
if %var%==11 SET var=B
if %var%==12 SET var=C
if %var%==13 SET var=D
if %var%==14 SET var=E
if %var%==15 SET var=F
echo %var% >> mac.txt
if %y%==12 goto END
goto begin
:END
for /f %%a in (mac.txt) do set/p=%%a < nul >> mac1.txt
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12 delims= " %%a in (mac1.txt) do set var=%%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l
@del /F /S /Q mac1.txt > nul
@del /F /S /Q mac.txt > nul
echo MAC ADDRESS %var%

goto restart

@echo off
:begin
SETLOCAL EnableDelayedExpansion
(
set "map=0123456789abcdef"
set "mac="& for /l %%a in (1,1,12) do set /a $a=!RANDOM!%%16& call set "mac=!mac!%%map:~!$a!,1%%")
Echo %mac%
goto begin

Если зациклить будет ошибка в интерпретаторе. А так мне понравилось быстро работает если перепишете возьму за основу.

Отправлено: 00:08, 01-06-2021 | #7


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Powershell:
Код: Выделить весь код
((((new-guid).guid -split '-')[-1]) -split '(.{2})' |? {$_}) -join ':'

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:38, 01-06-2021 | #8


Ветеран


Contributor


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

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


figusev@vk,
Цитата figusev@vk:
Если зациклить будет ошибка в интерпретаторе. »
Не будет
Код: Выделить весь код
@echo off
SETLOCAL EnableDelayedExpansion

set "map=0123456789abcdef"
:Begin
	set "mac="& for /l %%a in (1,1,12) do set /a $a=!RANDOM!%%16& call set "mac=!mac!%%map:~!$a!,1%%"
	echo !mac!
GoTo :Begin
Еще вариант
Код: Выделить весь код
@Echo Off
Set "@@0=0" &Set "@@1=1" &Set "@@2=2" &Set "@@3=3" &Set "@@4=4" &Set "@@5=5" &Set "@@6=6" &Set "@@7=7" &Set "@@8=8" &Set "@@9=9" &Set "@@10=A" &Set "@@11=B" &Set "@@12=C" &Set "@@13=D" &Set "@@14=E" &Set "@@15=F"

:Begin
	Set "mac="& For /l %%a in (1,1,12) Do Call Set /A $a=16*%%RANDOM%%/32768 &Call Set "mac=%%mac%%%%%%@@%%$a%%%%%%"
	Call Set "mac=%mac%"
	Echo %mac%
GoTo :Begin

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 02-06-2021 в 16:25.


Отправлено: 09:54, 02-06-2021 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Привязка IP-адресов к MAC Baboon Сетевые технологии 12 01-12-2014 21:02
Любой язык - скрипт , который бы прописывал MAC и IP адрес в сетевых адаптерах Vovec 79 Скриптовые языки администрирования Windows 10 23-07-2010 19:00
отсутствие MAC адресов логах ISA 2006 KipFun ISA Server / Microsoft Forefront TMG 3 19-04-2010 17:21
DHCP. Разрешить подключение только с MAC-адресов из списка Резервирование Gangabass Microsoft Windows NT/2000/2003 3 07-09-2007 12:10
MAC адреса <разделение MAC адресов (или что то в этом роде) чтобы не было конфликтов> gunter85 Хочу все знать 2 19-07-2007 15:02




 
Переход