PowerWebPart: Requested registry access is not allowed (SharePoint 2007)
L'errore seguente mi è comparso ad un certo punto (forse dopo qualche windows update), in SharePoint 2007 (WSS3 - MOSS) con la Power WebPart 3.0 ed altre feature che usano PowerShell. L'errore visualizzato è:
Non sono riuscito a individuare la causa, ma ho trovato la soluzione. In realtà su internet si trovano vari post che fanno riferimento a errori simili, come ad esempio http://support.microsoft.com/kb/329291/en-us o http://www.jameskovacs.com/blog/Writ...2003SP1.aspx , ma nessuno ha risolto il mio problema.
Per venirne a capo ho utilizzato il tool Process Monitor di Sysinternals per vedere a quale chiave di registro non riusciva ad accedere.
La chiave incriminata è: HKEY_CURRENT_USER\Environment.
Stranamente segnalava che l'utente con cui ero loggato non riusciva ad accedere alla chiave di registro e non l'utente dell'application pool come mi sarei aspettato. In pratica dare il solo accesso in lettura alla chiave hai Domain Users non è bastato, ho dovuto aggiungere anche l'utente dell'application pool.
Per impostare i permessi alla chiave:
Error on Initialization
Exception:
Requested registry access is not allowed.
mentre negli eventi di windows c'è un errore generico di access denied al registro senza indicare nessuna posizione.Exception:
Requested registry access is not allowed.
Non sono riuscito a individuare la causa, ma ho trovato la soluzione. In realtà su internet si trovano vari post che fanno riferimento a errori simili, come ad esempio http://support.microsoft.com/kb/329291/en-us o http://www.jameskovacs.com/blog/Writ...2003SP1.aspx , ma nessuno ha risolto il mio problema.
Per venirne a capo ho utilizzato il tool Process Monitor di Sysinternals per vedere a quale chiave di registro non riusciva ad accedere.
La chiave incriminata è: HKEY_CURRENT_USER\Environment.
Stranamente segnalava che l'utente con cui ero loggato non riusciva ad accedere alla chiave di registro e non l'utente dell'application pool come mi sarei aspettato. In pratica dare il solo accesso in lettura alla chiave hai Domain Users non è bastato, ho dovuto aggiungere anche l'utente dell'application pool.
Per impostare i permessi alla chiave:
- aprire regedit
- andare sulla chiave HKCU\Environment
- fare tasto destro Permissions...
- aggiungere l'utente (la finestra di aggiunta è come quella del file system)
Attenzione: per impostare i permessi bisogna loggarsi alla macchina proprio con l'utente dell'application pool in quanto questa chiave si riferisce sempre all'utente loggato