This project has moved. For the latest updates, please go here.

Search-ResourcesPaged

Description

The Search-ResourcesPaged cmdlet allows you to perform a query for multiple objects from the FIM Service, with advanced controls of how you navigate through the result set. For standard searching, see the Search-Resources cmdlet.
By default, the cmdlet returns only the ObjectType, ObjectID, and DisplayName attributes for the objects matched by the query string. Use the ExpectedObjectClass or AttributesToGet parameters to control the attributes that are returned.

Syntax

Search-Resources -Xpath <string | XPathExpression> [-ExpectedObjectClass <string>] [-MaxResults <int>] [-PageSize <int>] [-SortAttributes <string[]>] [-Descending]

Search-Resources -Xpath <string | XPathExpression> [-AttributesToGet <string[]>]  [-MaxResults <int>] [-PageSize <int>] [-SortAttributes <string[]>] [-Descending]

Search-Resources -Xpath <string | XPathExpression> [-Unconstrained]  [-MaxResults <int>] [-PageSize <int>] [-SortAttributes <string[]>] [-Descending]

Parameters

XPath

The query to use in the search operation. This can be a string or an XPath expression created with the New-XPathExpression cmdlet

ExpectedObjectType

Optional. Specifies the expected object type that will be returned from the query. The client will use this to request the attributes from that class as part of the query.

AttributesToGet

Optional. A list of attributes to retrieve for the objects matching the search criteria

Unconstrained

Optional. Performs an unconstrained query, allowing the FIM service to process all attributes in the schema when a matched object is found. This option should be used with caution as it causes significant performance impact on the FIM service.

MaxResults

Optional. Limits the number of results returned by the search operation.

PageSize

Optional. Specifies how many results should be retrieved per page.

SortAttributes

Optional. Specifies a list of attribute names used to order the results

Descending

Optional. Specifies that the sort attributes should be sorted in descending order (default is ascending)

Examples

The following example shows how to use the pager to iterate through a result set one page a time
# Get a pager to enumerate all sets
$pager = Search-ResourcesPaged -Xpath "/Set";
$pager.PageSize = 10;

# Loop through the result set until there are no more results
while ($pager.HasMoreItems)
{
    # Get 10 results
    $resultSet = $pager.GetNextPage();
    
    # Iterate through each result and print the ObjectID
    foreach($result in $resultSet)
    {
        $result.ObjectID
    }

# Repeat until all results have been processed
}

The following example shows how to move position in the result set, and starts the operation from the 50th set.
$pager = Search-ResourcesPaged -Xpath "/Set";
$pager.PageSize = 10;
$pager.CurrentIndex = 50;
# Loop through the result set until there are no more results
while ($pager.HasMoreItems)
{
    # Get 10 results
    $resultSet = $pager.GetNextPage();
    
    # Iterate through each result and print the ObjectID
    foreach($result in $resultSet)
    {
        $result.ObjectID
    }

# Repeat until all results have been processed
}

Last edited Feb 27, 2016 at 12:14 AM by ryannewington, version 1