Я использую wsname для переименования рабочих станций по мере их развертывания. У меня есть переключатель \ logfile, который изменяет местоположение по умолчанию файла журнала wsname на папку на диске C. Я хочу изменить это на сетевое расположение, однако мне нужно указать имя файла на основе MAC-адреса или имени хоста, чтобы идентифицировать его с других 20 компьютеров, которые будут переименованы одновременно. Как это сделать?
Спасибо
Я обнаружил, что могу использовать% computername%, чтобы переименовать файл в computername. это можно сделать с MAC-адресами?
for /F %%a in ('wmic path win32_NetworkAdapterConfiguration where ^(IPEnabled^=^'true^' and DHCPEnabled^=^'true^'^) get MACAddress /value^| find "MACAddress"') do set %%a
set macadres=%macaddress%
В пакетном файле установим переменную окружения macadres
значению активной сетевой карты, на которой включен DHCP (пригодится, если активна только одна сетевая карта, например, в случае загрузки через PXE).
Я полагаю, вы используете инструмент WSname.exe Дэвида Кларка?
Вы можете попробовать следующий фрагмент в своем скрипте, чтобы установить имя файла. Предполагается, что у вас есть одна сетевая карта или что последняя сетевая карта является достаточно хорошим идентификатором:
for /f "tokens=1-15" %%a in ('ipconfig /all') do @echo %%a | find "Physical" > nul && set filename=%%l
@echo My filename is %filename%
Объяснение: Ipconfig / all предоставляет информацию о конфигурации сетевого адаптера, включая MAC-адрес. Строка, содержащая MAC-адрес, имеет следующий формат (Windows xp sp3, ymmv):
Физический адрес. . . . . . . . . : 00-1A-1B-1C-1D-1E
Этот фрагмент передает вывод ipconfig через find.exe и ищет «физическую» часть физического адреса. Если Find.exe сообщает errorlevel = 0 (успех), он проходит через &&, чтобы проанализировать оставшуюся строку и найти позицию «L» или фактический MAC-адрес. В этом случае он устанавливает его в переменную окружения с именем «filename».
Это решение должно создавать нужные вам уникальные файлы и использовать собственные инструменты для ОС Windows XP и более поздних версий. При использовании Vista или Windows 7 вам может потребоваться работа с выводом IPconfig, специфичным для этих платформ.
Роб