DPM - скрипт Powershell для получения списка файлов, доступных для резервного копирования
Я работаю над сценарием PowerShell DPM, чтобы получить список файлов / папок, доступных для резервного копирования в определенном каталоге. Точнее, мне нужно получить список папок в каталоге D:\inetpub\vhosts\ (т.е. все vhosts). Я пытался написать скрипт, используя командлеты DPM powershell, и это то, что я придумал.
$searchpath = 'D:\inetpub\vhosts'
$so=New-SearchOption -FromRecoveryPoint $today -ToRecoveryPoint $tomorrow -SearchDetail filesfolders -SearchType contains -Location $searchpath -SearchString "*" -ErrorAction SilentlyContinue
$ri=Get-RecoverableItem -Datasource $datasource -SearchOption $so -ErrorAction SilentlyContinue
foreach($file in $ri)
{
echo $file.userFriendlyName
}
Но я не смог получить все каталоги. После некоторых исследований я обнаружил, что New-SearchOption может максимально вернуть 250 запросов. В моем использовании количество папок составляет минимум 1500. Есть ли способ получить все файлы. Любая помощь будет принята с благодарностью.
1 ответ
Вы пытались использовать конвейер. В командлете могут быть встроенные функции подкачки, доступные только с помощью конвейера. Попробуйте код ниже:
$searchpath = 'D:\inetpub\vhosts'
New-SearchOption -FromRecoveryPoint $today -ToRecoveryPoint $tomorrow -SearchDetail filesfolders -SearchType contains -Location $searchpath -SearchString "*" -ErrorAction SilentlyContinue |
Get-RecoverableItem -Datasource $datasource -ErrorAction SilentlyContinue | For-EachObject {
$_.userFriendlyName
}