Небольшой PS-скрипт, который почему-то не раз пригодился

У заказчика в виндовой инфраструктуре используется сервис личных папок. Периодически он приходит с просьбой подготовить список пользовательских каталогов с датами последних изменений в них.
По сути это и делает следующий скрипт:

foreach ($dir in ls)
{
  $fil = ls -Recurse $dir | Where-Object {$_.Mode -like "-*"} | Sort -Property "LastWriteTime" -Desc | Select -First 1
  Write-Host ("{1}    {0}" -f $dir.Name, $fil.LastWriteTime)
 
}

Результат выглядит так:

12/7/2017 11:34:29 AM    masha.schupkina
9/28/2018 11:08:29 AM    ivan.ivanov
    vasya.pupkin
7/6/2018 2:27:19 PM    igor.alexandrov

Сначала идёт дата последнего изменения последнего измененного файла, а за ней - имя каталога (поименованы по именам пользователей). Пропуск на месте даты (как в случае vasya.pupkin) означает, что каталог не содержит файлов.