Ищете текущую дату или дату из электронной таблицы?
$date = (get-date -Format dd-MM-yyyy)
будет выводиться в O365SPSiteActivity-2019-Oct.csv, если вы запустите ее сегодня.
Есливы хотите разделить CSV на основе дат в данных, я мог бы переместить export-CSV внутри цикла foreach и изменить его, используя имя, аналогичное указанному выше, вместо добавления его в массив $ Data.
$Data = "2019-May-31"
Get-Date -Format yyyy-MMM -Date ([datetime]::parseexact($Data, 'yyyy-MMM-dd', $null))
$FileName = "O365SPSiteActivity-$date.csv"
$Data | Export-Csv -Append -Path $FileName -NoTypeInformation -Force
Это запишет каждую строку в соответствующий файл CSV - в результате вы получите отдельный файл CSV для данных за каждый месяц.
Обратите внимание, что 'yyyy-MMM-dd' в parseexact должен соответствовать формату даты, в которую вы его вводите. Например, если вы сортируете его на основе $ row.'Report Period, который имеет дату 31.12.19, вместо этого это будет «MM / dd / yy» (обратите внимание, что я изменил с - на / какразделитель). Вот документация , в которой указано, что означает каждая буква.