Skip to content

Instantly share code, notes, and snippets.

Last active August 3, 2021 07:46
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Demonstrates how to relink images using Sitecore PowerShell Extensions. Comment included by Dylan shows how to Remove the link and remove the item.
Copy link

AdamNaj commented Jun 3, 2014

I think it would be super useful if we added a couple of commandlets, based on that brilliant bit of code
like Get-ItemReferrers & possibly Relink-Item. You did it again! I didn't think it would be either that succinct or even viable!

Also - great use case scenario!

Copy link

Updated to use Get-ItemReferrer and Out-Null.

Copy link

Great script! Can I suggest this so that it works in multilingual scenarios:

$linkedItem = Get-Item -Path master:\ -ID $link.SourceItemID -Language $link.SourceItemLanguage

Copy link

dylanmccurry-sage commented Feb 11, 2019

Just found this gist incredibly useful, along with this stack overflow post:

It has resulted in this function that I'm using:

function Remove-ItemLink {
    $linkDb = [Sitecore.Globals]::LinkDatabase

    $links = Get-ItemReferrer -Item $item -ItemLink

    foreach($link in $links) {
        $linkedItem = Get-Item -Path master:\ -ID $link.SourceItemID 
        $itemField = $linkedItem.Fields[$link.SourceFieldID]
        $field = [Sitecore.Data.Fields.FieldTypeManager]::GetField($itemField)


# Example usage: delete items along with their references that have passed a certain date defined by a 'date' field
$today = Get-Date
$todayIsoDate = [Sitecore.DateUtil]::ToIsoDate($today)
$itemsToDelete = Get-Item -Path master: -Query "/sitecore/system/Modules/Mysite/Service Schedules/*[@date < '$($todayIsoDate)']"

Foreach($item in $itemsToDelete) {
    Write-Host "Cleaning up $($itemsToDelete.Paths.Path)"
    Remove-ItemLink -Item $item
    Remove-Item -Path $item.Paths.Path

Copy link

Thanks for sharing @dylanmccurry-sage!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment