我正在使用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上引导时只有一个活动网卡,则会派上用场)。