azure中来自PIP的NIC名称

azure中来自PIP的NIC名称,azure,powershell,Azure,Powershell,我需要从公共IP获取NIC名称。我无法从IP配置获取NIC名称 我已将PIP的IP配置为: /订阅/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkInterfaces/testnic/ipconfig/ipconfig $ip.IpConfiguration.Id.tostring().Substring($ip.IpConfiguration

我需要从公共IP获取NIC名称。我无法从IP配置获取NIC名称

我已将PIP的IP配置为:

/订阅/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkInterfaces/testnic/ipconfig/ipconfig

$ip.IpConfiguration.Id.tostring().Substring($ip.IpConfiguration.Id.tostring().LastIndexOf('/')+1)

我希望输出为'testnic',但它给了我'ipconfig'输出

$ip.IpConfiguration.Id.tostring().Split('/')[-3]
是一个.Net方法,其返回一个字符串数组,该数组包含此实例中由指定字符串或Unicode字符数组的元素分隔的子字符串

您也可以为此使用PowerShell操作符,它还有一些不适用于此问题的功能:

($ip.IpConfiguration.Id.tostring() -Split '/')[-3]

[-3]
不是该方法的一部分,而是split方法返回的数组中的索引。负数从数组末尾开始计数。例如,“-1”表示数组的最后一个元素。请参阅:

您的意思是从
$…子字符串()…
行中获取的值错误吗?如果
$ip.IpConfiguration.Id
是您在上面发布的值,那么它显然会返回final/后面的字符串,即ipconfig1,因为您的子字符串和LastIndexOf就是这样做的。或者您的意思是希望
$ip.IpConfiguration.Id
为您提供“testnic”?是的,最终/我将获得ipconfig1。但我不明白如何使用indexof()来获取“testnic”@Rup
$ip.IpConfiguration.Id.tostring().Split(“/”)[-3]
谢谢@iRon它确实起了作用。你能给我一个链接,可以为我提供关于字符串函数的信息吗。