A concessão de permissões à Identidade do Pool de Aplicativos por meio da interface do usuário no Windows 2008R2 pode ser um pouco propensa a não funcionar de vez em quando, mas pode ser obtida usando algumas ferramentas de linha de comando.
Permissões NTFS:
Use a ferramenta de linha de comando ICACLS
para definir o NTFS permissões:
icacls c:\wwwroot /grant "IIS AppPool\DefaultAppPool":(CI)(OI)(M)
O item acima configura a identidade DefaultAppPool
para ter permissões Modificar em c:\wwwroot
com herança de Arquivo e Pasta. Na interface do usuário, parece:
esobaspermissõesUIavançada:
Lançamento do DCOM e permissões de ativação e acesso:
Novamente, a interface do usuário pode ser um pouco complicada quando se trata de IIS AppPool\<ident>
contas e não há nenhuma ferramenta de linha de comando integrada para configurar Permissões de inicialização e ativação e Permissões de acesso . Você pode tentar definir esses valores no registro mas, a menos que você saiba como criar uma ACL serializada para LaunchPermission
e AccessPermission
vai ser difícil.
Nem tudo está perdido. Há uma ferramenta chamada dcomperm.exe
, incluída como um projeto de exemplo no Microsoft Windows SDK para Windows 7 e o .NET Framework 4 .
Este sujeito escreveu sobre isso aqui:
Another step closer to the 100% scripted SharePoint installation with DcomPerm.exe
Você pode tentar e criar você mesmo ou baixar um binário pré-criado seu Microsoft Live SkyDrive.
Para usar dcomperm.exe
, você precisará saber o AppID
do seu aplicativo DCOM. Você pode fazer isso localizando-o na guia Geral das propriedades de configuração do DCOM do seu aplicativo. Por exemplo, eu escolhi a biblioteca IIS CertObj como um exemplo de trabalho.:
VocêpodecolocarocursornocampoIDdoaplicativoeselecionartodoocampo,alémdeincluiraschavestambém.
Emseguida,abraumpromptdelinhadecomando(executandocomoAdministrador).Paraconcederàsuaidentidadedopooldeaplicativospermissõesdeinicializaçãolocaleativaçãolocal,vocêexecutaria:
DComPerm.exe-al{62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60}set"IIS AppPool\DefaultAppPool" permit level:ll,la
Onde:
-
-al
= Modifique ou liste a permissão de ativação e lançamento -
{62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60}
= o ID do aplicativo que copiamos da interface do DCOMCNFG -
set "IIS AppPool\DefaultAppPool"
= definir essa identidade -
permit
= definir o sinalizador de permissão -
ll
= Lançamento local -
la
= Ativação local
Parece o seguinte na interface do usuário: