En Sharepoint 2010 al tratar de modificar programaticamente el web.config desde un evento de feature o script de acciones Administrativas, usando el SPWebConfigModification sale un error muy descriptivo "Access Denied". Que majo! Que descriptivo!
Probamos con privilegios elevados.... y "Access Denied"
Solución:
Estas accediendo usando LOCALHOST o por la IP? Lo lógico es entrar usando el nombre del servidor o la ruta de acceso alternativa que este registrada.
No obstante si quieres que funcione ..... en Sharepoint 2010 se ha incorporado un interruptor de seguridad a nivel de Servicio para bloquear modificaciones remotas, tendremos que desactivarla....
# Con este script de PowerSell desactivamos la caracteristica de seguridad RemoteAdministratorAccessDenied
# Autor:Roberto Marcos
#Añadimos el snapin de SharePoint PowerShell
if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) {
Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}
$servicio = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$servicio.RemoteAdministratorAccessDenied = $false
$servicio.Update()