Eu tive um problema semelhante em que precisei acessar um compartilhamento de rede e resolvi o problema usando as seguintes etapas:
1) Crie uma conta com o mesmo nome de usuário e senha no servidor front-end e no servidor de arquivos. Certifique-se de que a senha não expire ou deva ser alterada.
2) Crie um compartilhamento de rede e conceda a nova conta direitos de leitura / gravação. Também testei que podia conectar-me a partir dos servidores front-end usando a nova conta para verificar se não há firewalls no caminho.
3) No servidor front-end, incluí a conta no grupo IIS_IUSRS que indiretamente lhe dá direitos de Logon como trabalho em lote.
4) Execute o seguinte comando para conceder direitos à conta
aspnet_regiis -ga <your_app_pool_user>
Veja mais: Como criar uma conta de serviço para um aplicativo ASP.NET 2.0 (MSDN)
5) Reiniciei o WAS e o IIS para garantir que as alterações na associação do grupo de contas acontecesse se você tentasse usar a conta.
C:> net stop was /y
C:> net start w3svc
6) Crie um pool de aplicativos e defina a identidade nas configurações avançadas.
Esta é a parte em que fiquei preso no IIS 8 no Windows Server 2012 com mensagens de erro ao tentar definir a identidade.
No Gerenciador do IIS, recebi a seguinte caixa de diálogo de erro: "Ocorreu um erro ao executar esta operação. Detalhes: o valor não está dentro do intervalo esperado".
Tentando definir a identidade do Pool de Aplicativos na linha de comando, recebo um erro semelhante:
C:> appcmd set config /section:applicationPools
/[name='test-pool'].processModel.identityType:SpecificUser
/[name='test-pool'].processModel.userName:MyAccountName
/[name='test-pool'].processModel.password:P@ssw0rd
ERROR ( hresult:80070057, message:Failed to commit configuration changes.
The parameter is incorrect.
)
Quando eu removo o último parâmetro, password, o comando irá alterar o tipo de identidade e definir o nome de usuário, mas eu nunca descobri por que não consegui definir a senha, então retruquei para editar meu applicationHost.config arquivo diretamente. Infelizmente com a senha terminando em texto claro.
<configuration>
...
<system.applicationHost>
<applicationPools>
...
<add name="test-pool" managedRuntimeVersion="v4.0">
<processModel identityType="SpecificUser"
userName="MyAccountName" password="P@ssw0rd" />
</add>
...
</applicationPools>
...
</system.applicationHost>
...
</configuration>
7) Por fim, configurei meu aplicativo da Web para usar o pool de aplicativos e ele poderia acessar o compartilhamento de rede sem problemas.