Private/Get-AzureInstanceData.ps1
|
function Get-AzureInstanceData { [CmdletBinding()] param( [string]$ResourceGroup, [string]$Name ) Assert-CommandAvailable ` -CommandName 'Get-AzVM' ` -InstallHint "Install the Az.Compute module with: Install-Module Az.Compute -Scope CurrentUser" $virtualMachines = if ([string]::IsNullOrWhiteSpace($ResourceGroup)) { Get-AzVM -Status -ErrorAction Stop } else { Get-AzVM -ResourceGroupName $ResourceGroup -Status -ErrorAction Stop } if (-not [string]::IsNullOrWhiteSpace($Name)) { $virtualMachines = @( $virtualMachines | Where-Object { $_.Name -eq $Name } ) } foreach ($virtualMachine in $virtualMachines) { $addressData = Get-AzureInstanceAddressData -VirtualMachine $virtualMachine [AzureCloudRecord]::FromAzVM($virtualMachine, $addressData) } } |