Unattended Configuration for SharePoint Server 2016
14 Mar 2016 | SharePoint 2016SharePoint Server 2016 has some… interesting things baked into it including a few things that appear to come from SharePoint Online. A new unattended configuration for SharePoint Server 2016 is also present, using an answer file. While unadvertised, it is easy to use, but a bit harder to discover as the configuration options are buried throughout the SharePoint code base.
So, how does it work? Pretty simple. Create a file called unattend.txt
. Add some entries like this:
DiagnosticsULSLocation=E:\ULS
DiagnosticsLogCutInterval=1
DiagnosticsEventLogFloodProtectionEnabled=true
DiagnosticsLogMaxDiskSpaceUsageEnabled=13
DiagnosticsLogDiskSpaceUsageGB=3
Save it to C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\CONFIG\
and build your farm through PowerShell or the Config Wizard. The answer file will be picked up and the values applied appropriately.
Post-farm build, you can see the key/value pairs located in the SPFarm object, which we can see via PowerShell.
$farm = Get-SPFarm
$farm.InitializationSettings
Key Value
--- -----
DiagnosticsULSLocation E:\ULS
DiagnosticsLogCutInterval 1
DiagnosticsEventLogFloodProtectionEn... true
DiagnosticsLogMaxDiskSpaceUsageEnabled 13
DiagnosticsLogDiskSpaceUsageGB 3
BrowserCEIPEnabled true
ErrorReportingEnabled true
DownloadErrorReportingUpdates true
ClientPerformanceMeasurementEnabled true
AppAnalyticsAutomaticUploadEnabled true
There are a lot of these. Some of the keys may or may not work. This isn’t a complete list of what I’ve found so far, and I’m compiling a spreadsheet of settings, but just examples of what is currently available.
Property Type
-------- ------
GridZoneSMTPEnableSsl string
GridZoneSMTPOverrideEnvelopeSender string
GridZoneSMTPPort int
GridZoneSMTPServer string
RecycleBinRetentionPeriod int
SecondStageRecycleBinQuota int
TenantXP_OutgoingEmailAddress string
TenantXP_ReplyToEmailAddress string
UseNewsFeedEnabledSetting bool
There are others, as well, such as automatically creating a Secure Store Service, etc.
Pretty neat, and hopefully this is functionality that persists into the future, as it is great for pre-configured, automated environments, versus the heavy amount of post-configuration we must use with farms today!