我正在运行以下PS脚本以获取存储帐户中最旧的10个文件。返回的是每个容器的最旧文件。如何获取给定存储帐户中所有容器的前10个?
$storageAccountName = "aaa"
$resourceGroup = "bbb"
$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroup -Name $storageAccountName).Value[0]
$context=New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey 'xxx'
$containerName = Get-AzStorageContainer -Context $context
$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccountName
$containerName | ForEach-Object { Get-AzStorageBlob -Container $_.Name -Context $context } | Sort-Object -Property LastModified | Select-Object -last 10
1条答案
按热度按时间blpfk2vs1#
我只是把你的右括号移到了最后。好吧,我颠倒了你的排序,做了前10个,只是因为它似乎更有效(我还没有测试这个理论,但)。如果你想从$containername中的每个容器中得到10个,那么你需要在forEach循环中使用Sort和Select命令。你有它的方式,你是从所有容器中获取所有对象,然后管道排序和选择。这意味着您的最终结果永远不会超过10个对象(所有对象的组合列表中最老的10个)。