Retrieving Items
This page covers all the methods for finding and retrieving Sitecore items using SPE. Whether you need a single item or a collection, SPE provides flexible query options to meet your needs.
Core Cmdlets
Get-Item
Use Get-Item to retrieve a single item or items matching a query. This cmdlet throws an error if the item doesn't exist (unless using queries that may return zero results).
Key uses:
Retrieve a single item by path
Query items using Sitecore query
Get items by ID or URI
Get-ChildItem
Use Get-ChildItem to retrieve children and descendants of an item. This cmdlet is ideal for traversing content trees.
Key uses:
List immediate children
Recursively traverse item trees
Filter by template or other properties
Dynamic Parameters
SPE extends the standard PowerShell cmdlets with dynamic parameters. These appear when you specify a Sitecore database path:
AmbiguousPaths
Show all items matching ambiguous criteria
Get-Item
-AmbiguousPaths
Database
Specify database when using ID
Get-Item
-Database "master"
ID
Match item by GUID
Get-Item, Get-ChildItem
-ID "{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}"
Language
Specify language versions
Get-Item, Get-ChildItem
-Language "en-US" or -Language *
Query
Execute Sitecore query
Get-Item
-Query "/sitecore/content//*"
Uri
Match item by ItemUri
Get-Item
-Uri "sitecore://master/{GUID}?lang=en&ver=1"
Version
Specify item versions
Get-Item, Get-ChildItem
-Version 2 or -Version *
WithParent
Include parent in results
Get-ChildItem
-WithParent
Retrieving by Path
The most common way to retrieve items is by their Sitecore path.
Example: Retrieve an item by path.
Output:
Example: The C# equivalent for reference.
Working with Languages
Retrieve items in specific languages or all languages using the -Language parameter with wildcards.
When working with multi-language sites, you may find that specifying the -Language parameter results in a more consistent behavior.
Example: Retrieve the Danish version of an item.
Output:
Example: Retrieve latest version for all languages.
Output:
Working with Versions
Retrieve specific versions or all versions using the -Version parameter.
Example: Retrieve all versions in all languages.
Output:
Example: Using wildcards for partial matches (all English variants).
Retrieving Children
Use Get-ChildItem to retrieve an item's children, with optional recursion.
Example: Retrieve immediate children only.
Example: Retrieve all descendants recursively.
Example: Retrieve children in all languages and versions.
Retrieving by ID
Use the -ID parameter to retrieve items by their GUID. This is useful when you know the item ID but not its path.
Example: Retrieve an item by ID.
Output:
Retrieving by URI
ItemUri encodes the database, item ID, language, and version in a single string.
Example: Retrieve an item by URI.
Output:
Sitecore Query
Use Sitecore query to find items matching complex criteria. This is more efficient than traversing the tree when you need specific items.
Sitecore query paths containing reserved keywords or spaces require # delimiters: #path with spaces#
Example: Find all items with a specific template.
Output:
Example: Query with language and version wildcards.
Example: Query using dates (ISO format required) filtering by the publishing restriction where the item (not version) has a future date.
Fast Query
Sitecore has deprecated this functionality in XM/XP 10.1.
XPath with Axes
For complex queries using XPath axes, use the Sitecore API directly or prepend the context path.
Example: Use XPath axes to find ancestors.
Custom Property Sets
Use custom property sets with Select-Object to retrieve specific groups of properties.
Example: Retrieve security properties using PSSecurity.
Output:
Example: Retrieve template information using PSTemplate.
Output:
Example: Retrieve image metadata using PSImage.
Output:
Example: Retrieve schedule information using PSSchedule.
Output:
Using Initialize-Item
If you retrieve items using the Sitecore API directly, wrap them with Initialize-Item to add SPE's automatic properties.
Example: Query using Sitecore API and wrap with SPE properties.
Common Retrieval Patterns
Pattern: Find Items by Template
Pattern: Find Recently Modified Items
Pattern: Find Items by Field Value
Pattern: Get All Media Items Above Size Threshold
Performance Tips
Use Sitecore query when you need specific items from a large tree
Use Get-ChildItem for small trees or when you need all items
Filter early - use query predicates instead of Where-Object when possible
Limit language/version retrieval - only use
-Language *and-Version *when necessary
See Also
Editing Items - Update item properties and fields
Best Practices - Performance optimization guidance
Appendix - Common Commands - Full cmdlet reference
References
Last updated