У меня проблемы с преобразованием ResourceID в строку в PowerShell.
У меня есть список, в котором есть каждая информация о виртуальном интерфейсе из подписки Azure.
$virtualInterfaceArray = @(Get-AzureRmNetworkInterface)
Затем я помещаю значение индекса этого списка в переменную, поэтому не могу получить точную информацию, которую хочу. Например:
$hostVirtualInterfaceIndex = $virtualInterfaceArray[5]
$hostVirtualInterfaceVM = hostVirtualInterfaceIndex.VirtualMachine
Если я печатаю $ hostVirtualInterfaceVM, он возвращает:
PS C:\Users\marcelo.salvatori> $hostVirtualInterfaceVM
Id
--
/subscriptions/301238dsf0sdfj/resourceGroups/rg-test/providers/Microsoft.Compute/virtualMachines/vmtest
Я знаю, что не могу использовать метод .Split (), потому что это не строка. Поэтому я пытаюсь проверить это, используя метод .ToString ():
PS C:\Users\marcelo.salvatori> $hostVirtualInterfaceVMString = hostVirtualInterfaceVM.ToString()
Но тогда, когда я печатаю переменную, она возвращает:
PS C:\Users\marcelo.salvatori> $hostVirtualInterfaceVMString
Microsoft.Azure.Commands.Network.Models.PSResourceId
Мне нужен этот разговор, чтобы я мог использовать метод .Split ().