团队,
预先感谢,我是IT专业人员,同时也在学习PowerShell。我在不同的差异区域中有2个存储帐户Storage A和Storage B,我想在辅助存储帐户中创建相同的容器。
我发现以下命令可以获取主存储帐户中所有容器的列表,然后可以使用foreach循环在辅助存储上创建容器。但是我想确保在辅助存储帐户中,如果它已经具有容器名称,那么我的命令应该跳过该容器并继续创建下一个存储容器。
Get-AzureStorageContainer -Context $storageAccountContext | ForEach-object { New-AzureStorageContainer -Name $_.Name -Context $Destinationcontext }
答案 0 :(得分:0)
希望这会有所帮助!
$storageAccountContext ="Storage_Account_A"
$Destinationcontext ="Storage_Account_B"
$Vm_in_A =@(Get-AzureStorageContainer -Context $storageAccountContext )
$Vm_in_b =@(Get-AzureStorageContainer -Context $Destinationcontext)
$Vm_to_be_created =@(Compare-Object -ReferenceObject $Vm_in_A -DifferenceObject $Vm_in_b )
$Vm_to_be_created|Select-object -Property VM| ForEach-object { New-AzureStorageContainer -Name $_.Name -Context $Destinationcontext }
答案 1 :(得分:0)
对于我们从pipe(|)获取的值,“ VM”是对“ -Property”开关的错误参数。 请使用属性的正确名称。我上面仅以“ VM”为例。 VM是Esxi(VC)环境中的属性。
请运行以下命令并检查输出。
Get-AzureStorageContainer -Context $Destinationcontext
它应该给您输出类似以下内容: Property_ID Property_NAME Property_3
值1 Value_A值_1A 值2值_B值_2A
因此,现在正确的语法应该是:
$Vm_to_be_created|Select-object -Property "Property_ID"| ForEach-object { New-AzureStorageContainer -Name $_.Name -Context $Destinationcontext }
:)