Azure Powershell脚本,用于在一个脚本中删除所有容器中早于30天的.bak文件
我尝试使用for循环来选择使用此脚本的所有容器Azure Powershell脚本,用于在一个脚本中删除所有容器中早于30天的.bak文件,azure,powershell,containers,blob,Azure,Powershell,Containers,Blob,我尝试使用for循环来选择使用此脚本的所有容器 param($TimerBlob) $CleanupTime = [DateTime]::UtcNow.AddMinutes(-1) $context = New-AzStorageContext -StorageAccountName **** -StorageAccountKey **** $containername = @("mydbstore", "mydbstore2","
param($TimerBlob)
$CleanupTime = [DateTime]::UtcNow.AddMinutes(-1)
$context = New-AzStorageContext -StorageAccountName **** -StorageAccountKey ****
$containername = @("mydbstore", "mydbstore2","mydbstore3") # List of containers -
For ($i=0; $i -lt $containername.Length; $i++) {
Get-AzStorageBlob -Container $containername[$i] -Context $context
Where-Object { $_.LastModified.UtcDateTime -lt $CleanupTime -and $_.BlobType -eq "PageBlob" -and $_.Name -like "*.bak"} |
Remove-AzStorageBlob
}
输出列出了所有容器中的所有文件,但没有删除它们。奇怪的是,如果不使用remove-azstorageblob中的管道,您从get-azstorageblob |?{}的输出是什么?
您是否获得了一个与过滤器匹配的项目列表?好奇的是,在没有进入remove azstorageblob的管道的情况下,get-azstorageblob |?{}的输出是什么?
您是否获得了与过滤器匹配的项目列表?检查您的代码。在
-Context$Context
之后,您需要一个管道|
。您的清理时间在代码中是一分钟前,在标题中是30天。是的,我没有错误地添加管道,但仍然存在相同的错误。我在一分钟前将其用作测试,如果下面的脚本正常工作,则可以将其更改为30天检查代码。在-Context$Context
之后需要一个管道|
。清理时间在代码中是一分钟前,标题中是30天。是的,我没有错误地添加管道,但仍然存在相同的错误。我在一分钟前用作测试,如果下面的脚本正常工作,则可以更改为30天。是的,只是我存储帐户中的容器列表,但它没有删除这些容器中的文件。如果我在getazstorageblob中添加了此“|”,则可以删除不提供任何错误或项目列表,也不删除它们是的,仅提供存储帐户中的容器列表,但不删除这些容器中的文件。如果我在getazstorageblob中添加此“|”,则不会提供任何错误或项目列表,也不会删除它们