2015-10-01 1 views
1

J'essaie de créer une nouvelle arborescence de répertoires sur un chemin réseau.Directory.CreateDirectory sur un chemin réseau

Le partage est situé à \\192.168.5.193\FileContext et a Everyoneautorisations d'accès complet.

Ce morceau de code:

DirectoryInfo directoryInfo = Directory. 
    CreateDirectory("\\\\192.168.5.193\\FileContext\\FileContext_Root\\General\\Test"); 

me donne:

An exception of type 'System.IO.IOException' occurred in mscorlib.dll 
but was not handled in user code 

Additional information: Logon failure: unknown user name or bad password. 

Si je tente d'ouvrir la même adresse avec Windows Explorer, il ouvre sans exigences de mot de passe.

La documentation CreateDirectory() indique qu'il devrait accepter les chemins UNC:

Vous pouvez créer un répertoire sur un ordinateur distant, sur une part que vous avez accès en écriture à. Les chemins UNC sont pris en charge. Par exemple, vous pouvez spécifier les éléments suivants pour le chemin d'accès: \ 2009 \ Archives \ December dans Visual Basic et \\ 2009 \ Archives \ December in C#.

Il indique également que IOException s pourraient provenaient:

Le répertoire spécifié par chemin est un fichier.
-ou--
Le nom du réseau n'est pas connu.

https://msdn.microsoft.com/en-us/library/vstudio/54a0at6s(v=vs.100).aspx

Comment puis-je résoudre?

+0

Le code _definitely_ s'exécute-t-il dans le même contexte utilisateur que vous utilisez avec Explorer? Ce n'est pas un site web, etc? –

+0

Ce code s'exécute-t-il dans un service Windows sous différentes références de votre utilisateur Windows? IIS fonctionne comme un service ... – CodeCaster

+0

Il s'agit d'un site Web IIS. Mais la part est accessible à 'Everyone' comme je l'ai écrit. – Teejay

Répondre

2

A partir de commentaire @JamesThorpe:

Everyone isn't Everyone

Je suis venu à la solution, tout en ajoutant l'ordinateur distant au domaine de l'entreprise.

Avec cette action, il n'est même pas nécessaire d'ajouter NETWORK SERVICE de l'ordinateur local aux autorisations du dossier distant.