Donc, j'ai couru ce code une douzaine de fois et cela a fonctionné, maintenant ça ne fonctionne pas. Je suppose que c'est une sorte d'autorisation sur le serveur de publicité pour le compte qui est connecté, mais le comportement est encore énigmatique.C# Active Directory .... bizarrerie lors de la création d'une unité d'organisation juste sous la racine
est ici le code
public JCDCDirectoryEntry CreateOrgUnit(string organizationalUnit, string description, ADS_GROUP_TYPE type)
{
log.Debug(GetMethodNameAndParms() + " - in");
// Bind to the domain that this user is currently connected to.
DirectoryEntry g = ADEntry.Children.Add("ou=" + organizationalUnit, "organizationalUnit");
g.Properties[ "description" ].Value = description;
// Commit the new organizationalUnit to the directory.
g.CommitChanges();
JCDCDirectoryEntry newOrgUnit = new JCDCDirectoryEntry(g, BuildType.distinguishedName, ADManager);
g.Close();
return newOrgUnit;
}
cette partie fait juste une recherche de l'unité d'organisation « centres » par nom
JCDCDirectoryEntry newOrgUnit = new JCDCDirectoryEntry(g, BuildType.distinguishedName, ADManager);
tout fonctionne sans erreur jusqu'à ce qu'il frappe cette ligne, alors que la ligne dit qu'aucun tel objet n'existe sur le serveur.
Je vais regarder dans le navigateur LDAP, et oui, l'UO Centres n'existe pas.
Mais si c'est une chose autorisations, pourquoi ce bit ne pas jeter et erreur ...
DirectoryEntry g = ADEntry.Children.Add("ou=" + organizationalUnit, "organizationalUnit");
g.Properties[ "description" ].Value = description;
// Commit the new organizationalUnit to the directory.
g.CommitChanges();
devrait-il pas jeter une erreur sur CommitChanges(); ?
Quelqu'un at-il une idée de ce qui aurait pu changer pour que ce code cesse de fonctionner? le même utilisateur a supprimé l'arbre, il a obtenu la permission de faire au moins somethings ...
J'ai utilisé ce même code, au moins une douzaine de fois le test plus tôt sur ce même domaine, par exemple il y a un mois.
Toute aide ou conseil est grandement appréciée.
Jes, j'ai plus peur. – kenny