> For the complete documentation index, see [llms.txt](https://docs.lithnet.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lithnet.io/resource-management-powershell/usage/cmdlet-reference/search-resources.md).

# Search-Resources

### Description

The `Search-Resources` cmdlet allows you to perform a query for multiple objects from the FIM Service. 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] [-Locale <string>]
```

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

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

### 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)

**Locale**

Optional. Specifies the language code of the culture to localize the representation of the resource in. This requires the appropriate language packs to be installed on the FIM/MIM Service. e.g en-US, de-de, ja-jp, es-es, it-it.

### Examples

**Get all sets**

```powershell
# This command will retrieve all sets, but as neither the AttributesToGet or ExpectedObjectType parameters have been specified, only the ObjectID and ObjectType attributes will be returned
Search-Resources -Xpath "/Set"
```

**Get resources with specific attributes**

```powershell
# Get all users with AccountName starting with 't', returning only the AccountName and Domain attributes
Search-Resources -Xpath "/Person[starts-with(AccountName, 't')]" -AttributesToGet @("AccountName","Domain")
```

**Get first 20 resources matching a criteria**

```powershell
# Get the first 20 users with AccountName starting with 't', returning only the AccountName and Domain attributes. The results will be sorted by DisplayName and AccountName
Search-Resources -Xpath "/Person[starts-with(AccountName, 't')]" -AttributesToGet @("AccountName","Domain") -MaxResults 20 -SortAttributes @("DisplayName","AccountName")
```

**Get resources with a known object type**

```powershell
# This command gets all workflow definition objects. As the object type returned from the query is known, the command will return all attributes in the schema for the WorkflowDefinition type as part of the result set
Search-Resources -Xpath "/WorkflowDefinition" -ExpectedObjectType WorkflowDefinition
```

**Get resources using the XPath query builder**

```powershell
# Creates an expression that searches for users with the account name 'ryan'
$query = New-XPathQuery -AttributeName "AccountName" -Operator Equals -Value "ryan"
$expression = New-XPathExpression -ObjectType "Person" -QueryObject $query
Search-Resources $expression
```

**Get the localized representation of a set of resources**

```powershell
# Gets all ObjectTypeDescription objects localized in Italian
Search-Resources -XPath "/ObjectTypeDescription" -ExpectedObjectType "ObjectTypeDescription" -Locale it-IT
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.lithnet.io/resource-management-powershell/usage/cmdlet-reference/search-resources.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
