Я делаю скрипт для получения учетных записей в Outlook. Для этого я извлекаю файлы .pst и .ost. Но если файла нет, я хочу написать такой вывод, как «файлы не найдены». Это мой код:
get-childitem -path C:\users\*\AppData\Local\Microsoft\Outlook* -recurse -force -dept 1 -include *.ost, *.pst | select-object fullname, @{name='Size_MB';expression={$_.length /1MB -as [int]}}, lastwritetime | Sort-Object -Property Size_MB -Descending | out-file c:\test.txt
Я много чего пробовал, но ничего не работает ... есть идеи?
Большое спасибо!
Стандартный подход заключался бы в том, чтобы присвоить результаты вашего Get-ChildItem переменной и оттуда обработать ее с помощью if / else.
Что-то вроде:
$OutlookAccounts = $null;
$OutlookAccounts = get-childitem -path C:\users\*\AppData\Local\Microsoft\Outlook* -recurse -force -dept 1 -include *.ost, *.pst | select-object fullname, @{name='Size_MB';expression={$_.length /1MB -as [int]}}, lastwritetime;
If ($OutlookAccounts -ne $null)
{
$OutlookAccounts | Sort-Object -Property Size_MB -Descending | out-file c:\test.txt;
}
Else
{
Write-Host "No files found";
}