##########################################################################################
## -------------获取PC物理网卡IP.ps1-----------------
## 1. 将虚拟软件的虚拟网卡或VPN等非物理网卡IP排除在外;
## 2. 脚本最终解释权,归项目运营IT部所有
##########################################################################################
function ip{
$macadd = (Get-NetAdapter -Physical | ? Status -EQ "Up").MacAddress
$address = foreach($address in (ipconfig /all) -like '*地址*') { ($address -split ' : ')[-1]}
# $macadd使用ForEach-Object,是考虑到PC有多个物理网卡
$macadd | ForEach-Object{
# 将$_赋值给$macadd, 是为了和$address的$_做区分
$macadd = $_
$address | ForEach-Object{
if($_ -like '*首选*'){
$index = [array]::IndexOf($address, $_)
$host_mac = $address[$($index-1)]
if($host_mac -eq $macadd){
$ip = ($_ -split '\(')[0]
return $ip
}
}
}
}
}