Problem Summary
After enabling the new SharePoint Server Subscription Edition feature to find users from the UPA directly with the SPTrustedBackedByUPAClaimProvider, See: Configure People Picker to find users from the UPA, you may be unable to create a root site in a new Web Application.
When creating the Root Site Collection, it may fail with “File Not Found”
Here is an example of the failure using PowerShell:
New-SPSite : The site http://spwfe:88/ could not be found in the Web application SPWebApplication Name=Web App 88.
At line:1 char:1
+ New-SPSite -Url $site -OwnerAlias $siteowner -Template $SiteTemplate …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (Microsoft.Share…SPCmdletNewSite:SPCmdletNewSite) [New-SPSite], FileNotFoundException
+ FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletNewSite
Here is an example of the error using Central Admin:
From ULS logs you will see the following error.
Couldn’t get settings from site settings manager. Exception: System.IO.FileNotFoundException: The site http://spwfe:88/ could not be found in the Web application SPWebApplication Name=Web App 88.
at Microsoft.SharePoint.SPSite.LookupSiteInfo(SPFarm farm, Boolean contextSite, Boolean swapSchemeForPathBasedSites, Uri& requestUri, Boolean& lookupRequiredContext, Guid& applicationId, Guid& contentDatabaseId, Guid& siteId, Guid& siteSubscriptionId, SPUrlZone& zone, String& serverRelativeUrl, String& siteRedirectUrl, Boolean& hostHeaderIsSiteName, Boolean& appWebRequest, String& appHostHeaderRedirectDomain, String& appSiteDomainPrefix, String& subscriptionName, String& appSiteDomainId, Uri& primaryUri)
at Microsoft.SharePoint.SPSite.LookupSiteInfo(SPFarm farm, Boolean contextSite, Boolean swapSchemeForPathBasedSites, Uri& requestUri, Boolean& lookupRequiredContext, Guid& applicationId, Guid& contentDatabaseId, Guid& siteId, Guid& siteSubscriptionId, SPUrlZone& zone, String& serverRelativeUrl, Boolean& hostHeaderIsSiteName, Boolean& appWebRequest, String& appHostHeaderRedirectDomain, String& appSiteDomainPrefix, String& subscriptionName, String& appSiteDomainId, Uri& primaryUri)
at Microsoft.SharePoint.SPSite.LookupSiteInfo(SPFarm farm, Boolean contextSite, Boolean swapSchemeForPathBasedSites, Uri& requestUri, Boolean& lookupRequiredContext, Guid& applicationId, Guid& contentDatabaseId, Guid& siteId, Guid& siteSubscriptionId, SPUrlZone& zone, SPResourcePath& serverRelativeUrl, Boolean& hostHeaderIsSiteName, Boolean& appWebRequest, String& appHostHeaderRedirectDomain, String& appSiteDomainPrefix, String& subscriptionName, String& appSiteDomainId, Uri& primaryUri)
at Microsoft.SharePoint.SPSite..ctor(SPFarm farm, Uri requestUri, Boolean contextSite, Boolean swapSchemeForPathBasedSites, SPUserToken userToken, Boolean readOnlyIntent)
at Microsoft.SharePoint.SPSite..ctor(SPFarm farm, Uri requestUri, Boolean contextSite, SPUserToken userToken, Boolean readOnlyIntent)
at Microsoft.SharePoint.SPSite..ctor(String requestUrl, SPUserToken userToken)
at Microsoft.SharePoint.Administration.Claims.SPAllUserClaimProvider.IsEveryoneClaimEnabledInTenantSetting(Uri context)
Cause
This issue is occurring because the new Claims Provider for People Picker is being used by default at the Farm level, but only scoped for a particular Site Collection.
Resolution
To resolve this issue, reconfigure new SPTrustedBackedByUPAClaimProvider so it’s not used by default.
Example:
1 2 3 4 5 6 7 8 9 |
$cpm=[Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager]::Local foreach($cp in $cpm.ClaimProviders) { if($cp.typename -eq "Microsoft.SharePoint.Administration.Claims.SPTrustedBackedByUPAClaimProvider") { $cp.IsUsedByDefault=$false $cpm.Update() } } |
After setting the new claim provider to “IsUsedByDefault=$false”, you should be able to create a new Root Site Collection without failure.