I was doing some troubleshooting for a client and I needed to set the people picker scope as a means of filtering out user accounts. So I ran the following STSADM command.
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>stsa
dm -o setproperty -url https://test.com -pn peoplepicker-searchadcustomfilter -pv "((Memberof=CN=TEST Users,OU=Public,OU=Groups,DC=AD,DC=TEST,DC=AU))" ( filter changed for demo purposes )
When I ran this in dev, it worked fine. I then moved to the WFE for prod and got the following error:
Specified argument was out of the range of valid values.
Parameter name: Number of daily notifications. This value must be >= 28 and <=168
I cranked up the logging and checked the SharePoint logs and found the following:
( I have tidied this up to make it easier to read )
SPXmlDocCache cache parameters are: high water mark 10485760 bytes, low water mark 5242880 bytes, interval 180000 ms Setting backwards compatible virtual server property failed, vs: SPWebApplication Name=SharePoint - portal.test key: dead-site-num-notifications value: 4. Specified argument was out of the range of valid values. Parameter name: Number of daily notifications. This value must be >= 28 and <= 168
stsadm: Specified argument was out of the range of valid values. Parameter name: Number of daily notifications. This value must be >= 28 and <= 168 Callstack: at Microsoft.SharePoint.Administration.SPWebApplication.set_UnusedSiteNotificationsBeforeDeletion(Int32 value) at Microsoft.SharePoint.Administration.SPBackwardCompatibilityPropertyMapper.SetVirtualServerProperty(SPWebApplication app, String key, String value) at Microsoft.SharePoint.Administration.SPBackwardCompatibilityPropertyMapper.UpdateVirtualServerProperties(SPWebApplication application, StringDictionary sd) at Microsoft.SharePoint.Administration.SPWebApplicationPropertyBagger.UpdateProperties(StringDictionary data) at Microsoft.SharePoint.StsAdmin.SPSetProperty.Run(StringDictionary keyValues) at Microsoft.SharePoint.StsAdmin.SPStsAdmin.RunOperation(SPGlobalAdmin globalAdmin, String strOperation, StringDictionary keyValues, SPParamCollection pars)
Now the bit highlighted was the key. With some help from a developer friend, we saw that the site confirmation deletion policy (2007 link ) had been set to 4. This policy is used to notify users when a site is due to be deleted. As the error showed, this is not a valid value.
This was confirmed by running the following command:
stsadm -o getproperty propertyname dead-site-num-notifications -url https://test.com.au
<Property Exist="Yes" Value="4" />
So to fix this I needed to set it to a valid value ( in this case 28 )
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>stsa
dm -o setproperty -pn dead-site-num-notifications -url https://test.com.
au -pv 28
dm -o setproperty -pn dead-site-num-notifications -url https://test.com.
au -pv 28
After this, I re-ran the set people picker command and it worked successfully! Now the question is, how was the delete site notification set to a value that was invalid?