Это возможно.
Я не знаю, как запустить сеанс ps на удаленном компьютере, но я думаю, что командлет Enter-PSSession сработает.Или, по крайней мере, это был первый результат при поиске «открытого удаленного сеанса PowerShell».Если это не работает, используйте Invoke-Command
, как предложено lit, чтобы получить $ outlookFiles, как предложено ниже.
Для остальных используйте это.
$outlookFiles = Get-ChildItem -Path "C:\Users" -Recurse | Where-Object { $_.Name -eq "Outlook.pst" }
Теперь у вас есть все файлы, которые имеютэто имя.Если вы не знакомы с каналом в powershell, он перенаправляет все найденные объекты с помощью Get-ChildItem в следующий раздел канала, и здесь Where-Object будет фильтровать полученные объекты.Если текущий объект ($ _) пройдет условие, то он будет возвращен всей командой.
Теперь вы можете снова отфильтровать эти объекты, чтобы включить только последние из них с.
$latestDate = (Get-Date).AddMonths(-1)
$newFiles = $outlookFiles | Where-Object { $_.LastAccessTime -gt $latestDate }
Теперь у вас есть все данные, которые вы хотите в одном объекте.Теперь вам нужно только отформатировать это так, как вам нравится, например, вы можете использовать $mailBody = $newFiles | Out-String
, а затем использовать Send-MailMessage -To x@y.z -From r@g.b -Body $mailBody
для отправки почты.