Skip to content

Instantly share code, notes, and snippets.

@AdamNaj
AdamNaj / Get-TemplateComplexity.ps1
Created April 20, 2016 13:32
Template Complexity analysis
$standardFieldCount = (Get-ItemTemplate master:\).Fields.Count
Get-ChildItem master:\templates -Recurse |
? {($_.TemplateName -eq "Template") -and -not $_.FullPath.StartsWith('/sitecore/templates/System')} |
% { [Sitecore.Data.Items.TemplateItem]$template = $_
[pscustomobject]@{
Path=&{$_.FullPath};
OnThisTemplate=&{(Get-ChildItem -Path $_.Providerpath -Recurse | ? { $_.TemplateName -eq "Template Field"}).Count};
NonStandardFields =&{$template.Fields.Count- $standardFieldCount};
TotalFields=&{$template.Fields.Count}
<#
.SYNOPSIS
Extracts the compressed file to to the specified directory.
.PARAMETER Item
Specifies the item to be exported as PDF/JPG/PNG.
.EXAMPLE
The following eports the Home page by piping an item into the cmdlet.
@AdamNaj
AdamNaj / Get-SitecoreLogTail.ps1
Created September 4, 2015 18:55
Get last 10 lines of the latest sitecore blog.
Get-ChildItem "$($SitecoreLogFolder)\log*.*" | Sort-Object -Descending LastWriteTime | Select-Object -First 1 | Get-Content -Tail 10
@AdamNaj
AdamNaj / Archive-OldItemVersion.ps1
Created March 2, 2016 21:35
Archive old item versions
function Archive-OldItemVersion {
[CmdletBinding()]
param(
[Parameter(Position = 0,Mandatory = $true,ValueFromPipeline = $true)]
[ValidateNotNullOrEmpty()]
[Sitecore.Data.Items.Item]$Item,
[Parameter(Position = 1,Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[int]$MaxVersions
)
@AdamNaj
AdamNaj / List-ActiveFunctions.ps1
Created February 29, 2016 09:05
List Active Functions
[Cognifide.PowerShell.Core.Modules.ModuleManager]::GetFeatureRoots([Cognifide.PowerShell.Core.Modules.IntegrationPoints]::FunctionsFeature) |
Initialize-Item |
%{ $_.ProviderPath } |
%{ Get-ChildItem -Path $_ } |
?{ $_.TemplateName -eq "PowerShell Script" } |
ft Database, Name, @{Label="Parent"; Expression={ $_.Parent.Name}}
@AdamNaj
AdamNaj / 00_Get-ItemsChangedInLast7Days.ps1
Last active February 24, 2016 16:24
SUGCON Presentation
$days = 7;
Get-ChildItem master:\content\home -Recurse |
? { $_."__updated" -gt (Get-Date).AddDays(-$days) } |
Format-Table -Property ID, Name, "__updated", "__updated by"
@AdamNaj
AdamNaj / Get-Parameters.ps1
Created February 12, 2016 12:15
What parameters are used by your commandlets and how many times are they defined?
$cmds = Get-Command -CommandType Cmdlet #| select -ExpandProperty Parameters #| #| ft name, count #-Property # % { $_.Keys } | Sort -Unique
#$cmds[733].Name
#$cmds[733].Parameters | gm
$parameters = [ordered]@{};
$cmds | % {
if($_.Parameters.Keys.Count -gt 0){
foreach($param in $_.Parameters.Keys){
if($param -ne $null -and -not $parameters.Contains($param)){
$parameters.Add($param, $_.Name)
} else {
@AdamNaj
AdamNaj / Remove-UnusedMediaItems.ps1
Last active February 6, 2016 16:50
Remove unused media items
#Include all paths you do not want to analyse below
$protectedPaths = @(
"/sitecore/media library/System/",
"/sitecore/media library/Experience Explorer"
"/sitecore/media library/Images/Social"
);
#Include all item templates you want to ignore in the array below
$protectedTemplates = @(
[Sitecore.TemplateIDs]::MediaFolder
@AdamNaj
AdamNaj / Add-Remove-ItemVersion-Test.ps1
Last active January 11, 2016 02:19
Add-ItemVersion & Remove-ItemVersion tests
$testPath = "master:\content\item-test"
$targetLang = "pl-PL"
$format = @{Property = @("ID", "Name", "Language", "Version", "Text"); AutoSize=$true }
$giParams = @{Path=$testPath; Version="*"; }
Set-HostProperty -HostWidth 180
& {
if(Test-Path $testPath){
Remove-Item $testPath -Force -Recurse
}
@AdamNaj
AdamNaj / Variable-Tooltip-Test.ps1
Created January 6, 2016 19:52
Variable tooltip test
$item = Get-Item master:\content\home
$items = Get-ChildItem master:\
$int = 1337
$float = 13.37
$bool = $true
$date = Get-Date
$string = "A string value"
$user = Get-User "sitecore\admin"
$table = @{"Name" = "Sitecore PowerShell"; "Date" = [datetime]::Now}
$list = @("Sitecore","PowerShell", [datetime]::now)