Getting site content types and site columns using PowerShell:
Add-PSSnapin Microsoft.SharePoint.PowerShell
## Variables
$WEB_APPLICATION_URL = "http://siteURL"
$CT_FIELDS_FILE_PATH = "c:\2013_CTs_And_Fields.csv"
## Initialization
echo "Initializing variables"
'"Site URL","Content Type","Field Name"' | Out-File $CT_FIELDS_FILE_PATH;
echo "Entering web application $WEB_APPLICATION_URL"
$webApplication = Get-SPWebApplication -identity $WEB_APPLICATION_URL
ForEach ($siteCollection in $webApplication.Sites)
{
ForEach($subSite in $siteCollection.AllWebs)
{
$subsiteUrl = $subsite.Url;
echo "Extracting info from $subSiteUrl";
$contentTypes = $subSite.ContentTypes;
ForEach ($contentType in $contentTypes)
{
ForEach ($field in $contentType.Fields)
{
'"'+ $subSiteUrl + '","' + $contentType.Name + '","' + $field.Title + '","' | Out-File $CT_FIELDS_FILE_PATH -Append;
}
}
}
}
echo "Finished.....";
The script output is a set of three CSV files:
- Mapping between SiteURL, content types and fields
No comments:
Post a Comment