我是一个Linux家伙。我有一个非常具体的问题,我试图在Windows机器上解决,所以请原谅我的无知。
问题(这不能重新定义):我有一台有3个网卡的Windows机器。每次启动时,我都需要一种动态自动设置其IP地址的方法。每次启动本机时,它都会有不同的地址信息。该机器将具有一个文件,该文件由启动时可访问的名称/值对组成(即文件满是“=”条目)。我需要使用从批处理文件运行的标准Windows命令提示符命令来执行所有这些任务。我没有VB或任何可用的东西。
最大的问题:我认为,如果Windows确定其网络接口的命名,那将更容易。如果是,我可以解析这个文件,然后使用netsh简单地设置“Local Area Connection 2”的IP地址。尽管如此,Windows有时会移动它用于物理网卡的名称。那么今天的“Local Area Connection 2”可能就是明天的“Local Area Connection”。因此,我必须找到一种方法,通过使用MAC地址和查找相应的NIC来确定启动过程中的这些事情。没有grep,awk等,从ipconfig输出中窃取这些信息变得越来越困难。
我做了什么/已完成: (1)通过本地组策略编辑器添加Windows设置启动脚本,我已经想出如何在Windows启动期间启动我的批处理文件。 (2)我已经弄清楚如何从批处理文件中解析我的名称/值对文件并获取令牌。 (3)我尝试使用arp命令设置ip映射。很明显,这只是将数据包正确地路由到接口。但是,一旦数据包到达接口,它们就会被丢弃,因为数据包是用于NIC不属于的网络。这对我没有好处。我需要设置网卡的IP地址。
我目前的计划/我需要什么帮助: (1)解析我的名字/值对文件 (2)找到与名称/值对文件中的mac地址对应的网卡名称 (3)使用netsh设置这些卡的IP地址 (4)从批处理文件中执行此操作 (5)尽量不要抱怨我没有使用Linux盒子: - )
非常感谢任何帮助。