-
Notifications
You must be signed in to change notification settings - Fork 0
/
Get-SPContentTypes.ps1
57 lines (51 loc) · 1.18 KB
/
Get-SPContentTypes.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Description
# Output all available Content Type GUIDs and their respective fields
#
# Syntax
# ./listCtFields
#
# Parameters
# none
#
# Settings
# Only change the -value parameter!
#
set-variable -option constant -name url -value "http://localhost" # Site collection
set-variable -option constant -name out -value "ContentTypes.csv" # Site collection
# End of settings
$site = new-object Microsoft.SharePoint.SPSite($url)
$cts = $site.rootweb.ContentTypes
echo "Processing..."
'"CT Name"' + `
',"CT ID"' + `
',"CT Description"' + `
',"CT Group"' +
',"Field Title"' + `
',"Field Internal Name"' + `
',"Field ID"' + `
',"Field Group"' + `
',"Field Max Length"' + `
',"Field Description"' | Out-File $out
ForEach ($id in $cts)
{
ForEach ($field in $id.Fields)
{
'"' + $id.Name + `
'","' + $id.Id + `
'","' + $id.Description + `
'","' + $id.Group + `
'","' + $field.Title + `
'","' + $field.InternalName + `
'","' + $field.Id + `
'","' + $field.Group + `
'","' + $field.MaxLength + `
'","' + $field.Description + `
'"' | Out-File $out -append
}
}
$site.Dispose()
echo "Finished!"
# Changelog
#
# v1.0 - February 28, 2011
# First release