I found an article on here advising on how to report on AccessRequestEmail settings and have modified such code to also update (at least I hope) the email address field with a newer one but I am receiving an error. Can anyone offer any suggestions on why the modified code may be failing and the error being received which I am also receiving.
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
$logFile = "C:\scripts\SharePoint\ListAccessRequestEmail.csv"
$startime = Get-Date
"Script Starting..." + $startime | Out-File -filepath $logFile
# Create the stopwatch
$sw = New-Object System.Diagnostics.StopWatch
$siteCollectionURL = "http://myurlsite:80"
$theSite = New-Object Microsoft.SharePoint.SPSite($SiteCollectionURL)
$webApp = $theSite.WebApplication
foreach($site in $webApp.Sites)
foreach($web in $site.AllWebs)
$web.RequestAccessEmail = "email@example.com"
$web.Url + "`t" + $web.RequestAccessEmail | Out-File -filepath $logFile -append
$web.Url + "`tRequest Access Not Enabled" | Out-File -filepath $logFile -append
# Write the compact output to the screen
write-host "Time: ", $sw.Elapsed.ToString()
Exception setting "RequestAccessEmail": "This Web application is not configured to send e-mail. For assistance, contact your server administrator."
At line:23 char:9
+ $web. <<<< RequestAccessEmail = "firstname.lastname@example.org"
+ CategoryInfo : InvalidOperation: (:) , RuntimeException
+ FullyQualifiedErrorId : PropertyAssignmentException
Appreciate any help