2010-06-22 7 views
22

Considérez ce code en essayant de créer un compte Active Directory. Il génère une exception ici avec un certain ensemble de données. Ce n'est pas clair en ce moment ce qui cause l'exception.Création d'un utilisateur dans Active Directory: Un périphérique connecté au système ne fonctionne pas

var user = new UserPrincipal(someValidUserContext, 
           ".x-xyz-t-FooFooBarTest", "somePwd", true); 

user.UserPrincipalName = "[email protected]"; 
user.SamAccountName = ".x-xyz-t-FooFooBarTest";   
user.DisplayName = "Some String 16 chars long"; 
user.Name = "Some String 16 chars long"; 
user.Description = "Foo BarBaz 12 more characters"; 
user.AccountExpirationDate = someDateInFuture; 
user.UserCannotChangePassword = true; 
user.Save(); 

// exception thrown on Save(): 
// A device attached to the system is not functioning 

alt text

PrincipalOperationException était non gérée par le code utilisateur: Un périphérique connecté au système ne fonctionne pas

Ce qui est à l'origine de cette exception, et comment pouvez-vous travailler autour d'elle?

+1

Meilleur. Message. Déjà. –

Répondre

50

L'attribut sAMAccountName doit comporter moins de 20 caractères.

+18

Un autre message que Microsoft pourrait afficher: Vous venez d'avoir une erreur. Votre sincèrement. Microsoft – Samuel

+1

Voici un article très poétique que je viens de trouver sur le problème: http://usrlocal.com/2009/08/a-device-attached-to-the-system-is-not-functioning/ Again .. un peu de sarcasme :) – Samuel

+0

6 ans en bas de la ligne et le même message d'erreur sanglante. Et pensais-je "sûrement ça va être inutile de google pour un tel message d'erreur générique". Et oui, 20 caractères sont toujours la limite et le résolveur de problèmes! – trailmax