Get-AzureRmStorageAccount, копай в файлы контейнера и получай свойство "Modified" - PullRequest
0 голосов
/ 13 марта 2020

Мне нужно получить все учетные записи хранения, дата последнего изменения которых составляет 6 месяцев, go с помощью сценария PS. Я не нашел ни одного командлета или функции, которая могла бы предоставить такую ​​информацию. Я думал, что будет достаточно отсортировать по «LastModifiedTime», но потом я копаю ковш, я увидел, что у меня много новых файлов внутри контейнеров с параметром «Modified». Вопрос: как я могу получить доступ к этим файлам с помощью Powershell? Любой командлет, функция и т. Д. c?

Вот что я использовал для получения SA раньше:

    function check_stores {

$stores = Get-AzureRmResource -ODataQuery "`$filter=resourcetype eq 'Microsoft.Storage/storageAccounts'"
$x = (Get-Date).AddDays(-180)

foreach($store in $stores){

$storename = $store.Name

$dates = (Get-AzureRmStorageContainer -ResourceGroupName $store.ResourceGroupName -StorageAccountName $store.Name).LastModifiedTime

    if(!($dates -ge $x)){

        "Storage Account Name: $storename"

    }}
    }
    check_stores

1 Ответ

0 голосов
/ 16 марта 2020

Не уверен, хотите ли вы просто получить капли, которые LastModifiedTime (aka: LMT) составляет через 180 дней. Если это так, вам не нужно проверять контейнер LMT, поскольку он не связан с временем последнего изменения BLOB-объекта. (контейнер LMT предназначен для изменения свойств контейнера).

Следующий скрипт работает с конвейером. Если вам не нужно проверять контейнер LMT, просто снимите флажок:

$x = (Get-Date).AddDays(-180)

# get all storage accounts of current subscription
$accounts = Get-AzStorageAccount

foreach($a in $accounts)
{
  # get container of storage account with LMT in 180 days
  $containers =   $a | Get-AzStorageContainer | ? {$_.LastModified -ge $x}
  # if don't need check container LMT, use : $containers =   $a[0] | Get-AzStorageContainer

  # get blob of containers with LMT in 180 days
  $blobs =  $containers | Get-AzStorageBlob | ? {$_.LastModified -ge $x}

  #add code to handle blobs
  echo $blobs
}
...