J'utilise this classe Imitateur pour usurper l'identité d'un compte de domaine pour accéder à un partage réseau comme ceci:Accès partage réseau via Process.Start (chemin) en utilisant des titres de compétences réseau
using(new Impersonartor(username, domain, password))
{
//Code Here
}
Copie du fichier à partir des œuvres de partage réseau oK:
using(new Impersonartor(username, domain, password))
{
CopyAll(uncPath, localPath)
}
Cependant, l'utilisation Process.Start pour afficher la part UNC dans l'Explorateur lance une « échec: nom d'utilisateur inconnu ou mot de passe incorrect »:
using(new Impersonartor(username, domain, password))
{
Process.Start(uncPath)
}
Soupçonnant que la classe Imitateur est en faute, je l'ai essayé fournir manuellement les informations d'identification à ProcessStartInfo comme ceci:
System.Diagnostics.ProcessStartInfo viewDir = new System.Diagnostics.ProcessStartInfo(uncPath);
viewDir.UseShellExecute = false;
viewDir.Domain = netCred.Domain;
viewDir.UserName = netCred.UserName;
viewDir.Password = ConvertToSecureString(netCred.Password);
System.Diagnostics.Process.Start(viewDir);
toujours pas de joie. Notez que je suis sûr que mon netCred (NetworkCredential) est correct car j'ai utilisé pour établir des connexions antérieures aux ressources authentifiées. Alors, comment afficher un chemin UNC dans l'Explorateur à l'aide d'informations d'identification réseau?
Désolé, j'oublié de mentionner que je l'ai déjà essayé. Merci! – Ian
Salut @Ian, j'ai essayé de créer un programme très basique pour tester le code et il semble se charger correctement. Je pense que le problème est lié à votre environnement, pouvez-vous donner plus de détails sur votre système d'exploitation/version/domaine global et si les informations d'identification réseau sont stockées localement dans le coffre-fort du système d'exploitation client? –
Bien sûr. Windows 7 Professionnel 32 bits. La machine n'est pas jointe au domaine. L'objet NetworkCredentials est rempli pendant l'exécution. L'objet netcred est utilisé pour se connecter à différents services réseau tels que TFS (Works fine). Les informations d'identification ne sont pas stockées dans le coffre-fort du système d'exploitation. – Ian