gpt4 book ai didi

batch-file - 确定正在使用哪个以太网接口(interface)的命令行

转载 作者:行者123 更新时间:2023-12-02 03:53:29 24 4
gpt4 key购买 nike

我编写了一个脚本来帮助在部署后配置计算机。该脚本执行设置计算机名称、启用 BitLocker 等操作。我正在努力解决的一件事是 IP 地址的设置。我正在使用的计算机(具体是服务器)有 4 个 NIC 端口,它们被命名为本地连接和本地连接 2-4。问题是部署这些服务器的技术人员并不总是插入同一个端口,而且部署镜像并不总是将以太网局域网连接分配给 NIC 端口 1。

这是我拥有的脚本副本,如果只启用一个 NIC 端口,它可以完美运行。我需要做的是将具有 IP 地址(因为 DHCP 已经存在)的本地连接名称的输出通过管道传输到一个变量中,我可以将该变量放入我的 netsh 命令中。

当前代码就位

:IPADDRESS
@echo Would you like static or DHCP?
@echo press 1 for static
@echo press 2 for dhcp
Choice /C:12 /N /M "?:"
IF ERRORLEVEL 2 GOTO IPDHCP
IF ERRORLEVEL 1 GOTO IPSTATIC

:IPSTATIC
set /P _IPADDR=Please enter IP address:
set /p _Subnet=Please enter Subnet:
set /p _DefaultGateway=Please Enter Default Gateway:

netsh interface ip set address name="Local Area Connection 2" static %_IPADDR% %_Subnet% %_DefaultGateway%
goto START

:IPDHCP
netsh interface ip set address "Local Area Connection 2" dhcp
goto START

:disipaddr
netsh interface ip show config name="Local Area Connection 2"

名称“Local Area Connection 2”是随构建而变化的部分。所以这是我需要隔离的部分。我相当确定 for /p 并将其用于 ipconfig/all 或 netsh interface ip show config 将是正确的方法。

预先感谢您提供的所有帮助。

最佳答案

这将在 Windows 7 上运行并经过测试。

一个 batch.bat 文件:

@echo off

for /f "tokens=2 delims==" %%F in ('wmic nic where "NetConnectionStatus=2 and AdapterTypeId=0" get NetConnectionID /format:list') do set interfaceName=%%F

echo Your Interface is %interfaceName%

pause

关于batch-file - 确定正在使用哪个以太网接口(interface)的命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13595499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com