2013-04-25 37 views
2

我正在使用DPM powershell脚本获取可用于在特定目录中备份的文件/文件夹列表。更确切地说,我需要获取目录D:\ inetpub \ vhosts \下的文件夹列表(即所有虚拟主机)。我一直在尝试使用DPM powershell cmdlet编写脚本,这就是我所想到的。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

您是否尝试过使用管道。可能只有使用管道的cmdlet中内置了分页功能。试试下面的代码:

$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 
}