Кому-нибудь повезло с запросом / изменением имен SPN в домене Windows? Большинство хитов в Google связаны с SQL: я не могу найти никакой информации о том, как сделать это самостоятельно. Наиболее важными являются запросы к конфигурации SPN и проверка на наличие дубликатов.
По словам Арно, я сделал следующий код:
static void Main(string[] args) {
ValidateSPN("K2Server/jonathand-vpc:5252");
}
static void ValidateSPN(string spn) {
const string queryFormat = "(ServicePrincipalName={0})";
using (Domain localDomain = Domain.GetCurrentDomain()) {
using (DirectorySearcher search = new DirectorySearcher(localDomain.GetDirectoryEntry())) {
search.Filter = string.Format(queryFormat, spn);
search.SearchScope = SearchScope.Subtree;
SearchResultCollection collection = search.FindAll();
if (collection.Count > 1)
throw new Exception("Duplicate SPNs found.");
else if (collection.Count == 0)
throw new Exception("No such SPN");
}
}
}