Я создаю сценарий Azure PS, который получит весь NSG, а затем определит, подключен ли он к подсети или сетевой карте
Когда я запускаю приведенную ниже команду, она выдает результат без столбца «Прикреплено к подсети». Но когда я запускаю тот же командлет со свойством -ResourceGroupName, он выдает результат с «Прикреплено к подсети» и «Прикреплено к Nic» NoteProperty
что желательно.
Я не могу отладить, почему не добавляется столбец «Присоединен к подсети» с Get-AzureRmNetworkSecurityGroup
$NSGdetails = @()
Get-AzureRmNetworkSecurityGroup | ForEach-Object {
$D2 = New-Object PSObject
Write-Host $_.Name
$subnet = $_.Subnets.Id
$nic = $_.NetworkInterfaces.id
$D2 | Add-Member -MemberType NoteProperty -Name "NSG Name" -Value $_.Name -Force
if ($subnet -ne $null) {
$subnetdetail = $subnet.Split('/')[-1]
$D2 | Add-Member -MemberType NoteProperty -Name "Attached To Subnet" -Value $subnetdetail -Force
}
if ($nic -ne $null) {
$nicdetail = $nic.Split('/')[-1]
$D2 | Add-Member -MemberType NoteProperty -Name "Attached To NIC" -Value $nicdetail -Force
}
$NSGdetails += $D2
}
$NSGdetails | Export-Csv -Path "C:\temp\allnicdetails.csv" -NoTypeInformation -Force
Ниже вывод с Get-AzureRmNetworkSecurityGroup -ResourceGroupName RAH-AQ
PS C:\Users\021176\Desktop> $NSGdetails
NSG Name Attached To Subnet Attached To NIC
-------- ------------------ ---------------
linuxvm-nsg default linuxvm15
redhat-nsg redhat396
Выход с Get-AzureRmNetworkSecurityGroup
указан ниже
PS C:\Users\021176\Desktop> $NSGdetails
NSG Name Attached To NIC
-------- ---------------
demolinux-nsg demolinux76
devnsg devnic
mastesta1-nsg mastesta1275
TutorialVM1 TutorialVM1
filenetapp-nsg filenetapp828
testvm1NSG
nehatest-nsg nehatest995
RHEL-nsg rhel858
linuxvm-nsg linuxvm15
linuxvm-nsg linuxvm15
redhat-nsg redhat396
SQLBackup-nsg sqlbackup454
opnvpntest-nsg opnvpntest764