如題,小弟我已會用cmd指令修改IP了
但比較困擾的是,我的電腦有兩張網卡
一個有插線,另一個沒用到
所以每次需要用指令先顯示所有網卡
再依照識別碼去修改IP
請問有沒有甚麼指令可以自動選擇有插線的網卡去做修改呢
cmd 或是 powershell 都可以,希望有懂得大大可以幫幫忙!謝謝
好奇問, 你這改ip需求是什麼? 用dhcp 綁定有線網卡配發固定ip 不行嗎?
另外以下為chatgpt 回覆, 供參
方案 1:自動選擇有插線的網卡並修改 IP(PowerShell)
這個 PowerShell 腳本會自動搜尋所有已經插線的網卡(Ethernet 類型)並進行 IP 設定。
$nic = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' -and $_.MediaType -eq 'Ethernet' }
if ($nic) {
# 輸出網卡名稱,供參考
Write-Host "選擇的有線網卡: $($nic.Name)"
# 設定新的 IP 地址、子網掩碼和閘道器(根據需要修改)
$ipAddress = "192.168.1.100"
$subnetMask = "255.255.255.0"
$gateway = "192.168.1.1"
# 修改 IP 配置
New-NetIPAddress -InterfaceAlias $nic.Name -IPAddress $ipAddress -PrefixLength 24 -DefaultGateway $gateway
} else {
Write-Host "未發現有插線的網卡。"
}
說明:
Get-NetAdapter:這個命令會列出所有網卡的詳細信息。
Where-Object { $.Status -eq 'Up' -and $.MediaType -eq 'Ethernet' }:過濾條件是網卡狀態為 Up 且媒介類型為 Ethernet,即找出當前連接並且是有線網路的網卡。
New-NetIPAddress:用來設置網卡的 IP 地址、子網掩碼和默認閘道。
這樣的腳本會自動選擇有插線的有線網卡進行配置,並忽略無線網卡。
方案 2:僅選擇 Ethernet 網卡並修改 IP 配置
如果你確定只有一張 Ethernet 網卡需要修改 IP,可以使用以下更簡單的腳本:
$nic = Get-NetAdapter | Where-Object { $_.MediaType -eq 'Ethernet' }
if ($nic) {
# 輸出網卡名稱,供參考
Write-Host "選擇的有線網卡: $($nic.Name)"
# 設定新的 IP 地址、子網掩碼和閘道器(根據需要修改)
$ipAddress = "192.168.1.100"
$subnetMask = "255.255.255.0"
$gateway = "192.168.1.1"
# 修改 IP 配置
New-NetIPAddress -InterfaceAlias $nic.Name -IPAddress $ipAddress -PrefixLength 24 -DefaultGateway $gateway
} else {
Write-Host "未發現有插線的網卡。"
}
補充:
MediaType 是用來區分網卡類型的屬性,Ethernet 代表有線網卡,Wireless 代表無線網卡。
Status 為 Up 代表網卡處於運行狀態,能夠發送和接收資料。
總結:
以上兩種方法,無論是根據 狀態 (Status) 還是 網卡類型 (MediaType),都能幫助你自動選擇已插線的網卡進行 IP 設定。你可以根據需求選擇其中一種來實現自動配置。
Kailis抱歉之前沒辦法回應,我是某公司的駐點人員,該公司電腦有網域,若網路介面卡只顯示"網路"而非網域就需要改一次IP使其顯示網域,而若需要改IP就需要換帳號才行,所以我寫了一個批次檔方便我直接修改IP,如下。而詢問到的powershell辦法可以讓我省去第一步
![
ez34567
"該公司電腦有網域,若網路介面卡只顯示"網路"而非網域就需要改一次IP使其顯示網域"
這是個問題,有網域的環境會出現這樣的問題,用改IP的方式處理有點扯蛋
網路環境有問題不去解決,靠著改IP來處理,本末倒置,個人猜環境內有非法的DHCP ( AP、分享器等等)
正確該處理這些非法設備,不是靠指令檔來逐台粉飾
窮嘶發發發我沒有這方面知識,甚至只是遇到這個問題從我能做的處理去下手,如果我想了解這種問題的發生原因跟解決辦法能去哪裡獲取呢