Есть ли программа командной строки, которую вы можете использовать?
Есть ли программа командной строки, которую вы можете использовать?
Ответы:
Я думаю, что вопрос должен быть закручен с ног на голову. Active Directory поддерживает как Kerberos, так и NTLM. Сначала Windows попытается выполнить Kerberos, и если все требования не будут выполнены, она вернется к NTLM.
Я приведу вам пример, доступ к файлу общего доступа по имени, например \ server1 \ share, вызовет Kerberos и должен успешно завершиться при наличии соответствующего разрешения. Но доступ к той же общей папке с использованием IP-адреса сначала вызовет Kerberos и завершится неудачно (так как для IP-адреса нет SPN), а затем переключится на NTLM.
Поэтому определите, как ваша программа пытается пройти аутентификацию в AD, и должна указать, какой протокол используется.
Мне было бы интересно узнать, что побудило вас задать этот вопрос.
Вы действительно должны проверять события входа в систему, независимо от того, является ли компьютер сервером или рабочей станцией. Полезно выяснить, какие пользователи обращаются к вашей системе, и устранить проблемы, связанные с безопасностью.
Вы можете изменить свою Политику аудита с помощью групповой политики: Пуск ... Выполнить ... gpedit.msc ... Конфигурация компьютера, Параметры Windows, Параметры безопасности, Локальные политики, Политика аудита, «Аудит событий входа в систему». Установите флажки «Успех» и «Сбой». Попробуйте выйти и войти, чтобы увидеть некоторые типичные события 540 в журнале событий безопасности Windows.
Netstat показывает все прослушиваемые соединения TCP и UDP. опция -na предназначена для всех соединений и без разрешения имен или портов. Опция «b» - показать связанную с ней программу. Если DNS работает, он может показывать много других соединений, поэтому вы можете также указать TCP.
Kerberos наиболее точно работает, если он развернут контроллер домена Active Directory.
netstat -nab
The requested operation requires elevation.
public string FindAllUsers()
{
string strReturn="";
try
{
DirectoryEntry directoryEntry = new DirectoryEntry("WinNT://" + Environment.UserDomainName);
string userNames = "";
string authenticationType = "";
foreach (DirectoryEntry child in directoryEntry.Children)
{
if (child.SchemaClassName == "User")
{
userNames += child.Name + Environment.NewLine; //Iterates and binds all user using a newline
authenticationType += child.Username + Environment.NewLine;
}
}
strReturn = userNames + "\n\n" + authenticationType;
//Console.WriteLine("************************Users************************");
//Console.WriteLine(userNames);
//Console.WriteLine("*****************Authentication Type*****************");
//Console.WriteLine(authenticationType);
}
catch (Exception)
{
Console.WriteLine("Network error occured.");
strReturn = "";
}
return strReturn;
}
Вы можете попробовать этот инструмент. http://blog.michelbarneveld.nl/media/p/33.aspx
Это инструмент для проверки подлинности на веб-сайтах. Он покажет, какой тип аутентификации используется: Kerberos, NTLM, basic, none. Но он также показывает другую информацию, такую как: используемый SPN, заголовки HTTP, расшифрованные заголовки авторизации NTLM и Kerberos. И он также может показать и удалить ваши билеты Kerberos.
Зависит от клиента / сервера, который вовлечен. Например, есть веб-страница (извините, у меня нет времени на ее поиск), которую вы можете разместить на веб-сайте, который сообщит вам, использовался ли Kerberos или NTLM. Однако я не знаю, как сказать, какой метод аутентификации использовал SQL-сервер. Хотя, как и предполагалось ранее, журнал безопасности может сказать вам.
Почему вы пытаетесь это выяснить?