新しい仮想ネットワークオブジェクトを作成し、サブネットを追加しようとしています。私は、ループ/オブジェクト作成部分について助けが必要です。以下のコードは動作しますが、入力ファイルのすべての行に対してSet-AzureRmVirtualNetwork
コマンドを使用する必要があります。そのSetコマンドをForeach
ループの外に移動したとき、最後のサブネット(CSVの最後の行)をコミットしただけです。Powershell(Azure) - VirtualNetworkオブジェクトの作成
複数のサブネットが挿入され、最後に1回コミットされるようにオブジェクトを作成するにはどうすればよいですか?
function New-NCIAzureNetworks-1 {
[CmdletBinding()]
Param (
# Param1 help description
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true,
Position = 0)]
$csvPath
)
$azureSubnets = Import-Csv -Path $csvPath
Foreach ($azureSubnet in $AzureSubnets) {
$vnetName = $azureSubnet.Vnetname
$AddressPrefix = $azureSubnet.AddressPrefix
$SubnetName = $azureSubnet.SubnetName
$resourceGroup = $azureSubnet.ResourceGroup
$vnet = Get-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroup
Add-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $vnet -AddressPrefix $AddressPrefix
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet
}
}