Hi,
I have been tasked to find out all the pages in our sharepoint farm which have been modified by SPDesigner.
I am able to do this by multiple approaches and each approach results in a drastically different output. I want to know which is the most suitable one for my requirement.
1. Approach 1
foreach($w in $webList) {
$files = $w.Files
foreach($file in $files) {
if ($file.CustomizedPageStatus.ToString() -eq "Customized") {
$count = $count + 1
}
}
}This approach reports very very few pages. Though some blogs on the internet claim to use this... in my case I am pretty sure that this is skipping almost 99% of actual aspx pages
2. Approach 2
foreach($web in $webList) {
$files = $web.Folders | %{$_.Files}
foreach($file in $files) {
If ($file.CustomizedPageStatus.ToString() -eq "Customized") {
$count += 1
}
}
}Much better than Approach 1... but I can still see that many ASPX pages are not reported.
3. Approach 3
For each($web in $webList) {
$files = $web.GetListsOfType(SPBaseType.DocumentLibrary) | %{$_.Items} | %{$_.File}
For each($file in $fileList) {
If ($file.CustomizedPageStatus -eq "Customized") {
$count += 1
}
}Approach 3 returns me very high number of aspx pages. (Almost 80K+) funny thing is that CustomizedPageStatus is NONE for almost all entries I can clearly see that these pages are custom aspx pages (blogs, wiki, etch)... but everything has NONE as customizedpagestatus.
So at the end of the day I am not able to meet my end goal of finding out all the "hive pages" which were "unghosted" by people by editing with SPDesigner.
I am not interested in blogs, wiki type of ASPX.
val it: unit=()