我正在编写一个DPM powershell脚本,以获取特定目录中可供备份的文件/文件夹列表。更准确地说,我需要得到目录D:inetpubvhosts(即所有vhosts)下的文件夹列表。我一直在尝试使用DPM powershell cmdlets编写脚本,这就是我所想到的。
$searchpath = 'D:inetpubvhosts'
$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个。有没有办法拿到所有的文件。
您尝试过使用管道吗?cmdlet中可能有内置的分页特性,只能通过管道使用。试试下面的代码:
$searchpath = 'D:inetpubvhosts'
New-SearchOption -FromRecoveryPoint $today -ToRecoveryPoint $tomorrow -SearchDetail filesfolders -SearchType contains -Location $searchpath -SearchString "*" -ErrorAction SilentlyContinue |
Get-RecoverableItem -Datasource $datasource -ErrorAction SilentlyContinue | For-EachObject {
$_.userFriendlyName
}