使用mac地址或主机名将wsname日志文件转换为文件名

我正在使用wsname在部署时重命名工作站。 我有一个\ logfile开关,将wsname日志文件的默认位置更改为C驱动器上的一个文件夹。 我想将其更改为networking位置,但是我需要能够指定基于MAC地址或主机名的文件的名称,以便从其他20台计算机中同时进行重命名。 有没有办法做到这一点?

谢谢

我发现我可以使用%computername%将文件重命名为computername。 可以用mac地址来完成吗?

我假设你正在使用David Clarke的WSname.exe工具?

您可以尝试脚本中的以下片段来设置文件名。 它假定你有一个NIC,或者最后一个NIC是一个足够好的标识符:

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地址的NICconfiguration信息。 包含mac地址的行具有以下格式(Windows xp sp3,ymmv):

实际地址。 。 。 。 。 。 。 。 。 :00-1A-1B-1C-1D-1E

这段代码通过find.exepipe理ipconfig的输出,并查找Physical Address的“Physical”部分。 如果Find.exe报告errorlevel = 0(成功),它将通过&&parsing剩余的行并find位置“L”或实际的mac地址。 在这个例子中,它将它设置为一个名为“filename”的环境variables。

这个解决scheme应该产生你想要的独特的文件,并使用本地工具到Windows XP和更高版本的操作系统。 如果使用Vista或Windows 7,则可能需要使用特定于这些平台的IPconfig输出。

 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% 

在batch file中,将环境variablesmacadres设置为启用了DHCP的活动网卡的值(如果在PXE上引导时只有一个活动网卡,则会派上用场)。