SharePoint

Overzicht van sub sites onder een site

5 februari 2013

Deze post beschrijft hoe je eenvoudig alle sub sites van een bepaalde site kunt ophalen. Het gaat hier niet over het ophalen van alle sites binnen een site collectie. Dit script werkt voor SharePoint 2010 én SharePoint 2013. Om duidelijk te maken wat hiermee precies bedoeld wordt, staat hieronder een voorbeeld van een site structuur die gebruikt is voor het maken van deze post:

subs1

Wat als ik een overzicht wil van alle sites onder de site “Projects”?

Er bestaat per site een property: webs. Helaas bevat deze property alleen de directe sub sites van een site. Dit betekent dat voor de Projects site alleen de waardes ProjectA en ProjectB worden getoond.

Oplossing

Om dit probleem op te lossen, kun je gebruik maken van de AllWebs property van de site collectie. Deze bevat alle sub sites, dus er zal een filter gemaakt moeten worden zodat alleen de juiste sites getoond worden.

param
(
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]
[String]$StartWeb,
[Boolean]$IncludeStartWeb = $true
)

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

((Get-SPWeb $StartWeb).Site).allwebs | ?{$_.url -like “$StartWeb*”} | ft URL

Kopieer en plak deze code in kladblok en sla het bestand op als Get-SPSubSites.ps1. Vervolgens plaats je dit bestand op je SharePoint server (D:\Scripts). Om het script uit te voeren, open je de SharePoint 2010 Management Shell. Let op: Je dient “Run as administrator” te gebruiken.
Vul nu het volgende in: D:\Scripts\Get-SPSubSites.ps1 -StartWeb “Http://www.contoso.com/Projects”

Dit geeft het volgende resultaat:

subs2

Nu heb je een overzicht van alle sub sites onder een bepaalde site. Je kunt deze informatie eenvoudig exporteren naar een tekstbestand door de volgende regel code te gebruiken:

D:\Scripts\Get-SPSubSites.ps1 -StartWeb “Http://www.contoso.com/Projects” > D:\scripts\sites.txt

subs3

 

You Might Also Like

Geen reacties

Plaats een reactie