Wie erkenne ich, ob ein beliebiger Benutzer ein Administrator auf einer Maschine ist? Ich habe die Domain und den Benutzernamen des Benutzers, aber kein Passwort. Der Benutzer ist NICHT der aktuell angemeldete Benutzer, daher kann ich nicht einfach WindowsIdentity.GetCurrent verwenden.Erkennen, ob der Benutzer in einer Gruppe ist
Antwort
LDAP verwenden. Siehe Beispiele here.
Sie können System.DirectoryServices verwenden, um zuerst den lokalen Computer zu laden und anschließend nach Benutzern in einer bestimmten Gruppe zu suchen. Versuchen, den folgenden Code aus:
DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry admGroup = localMachine.Children.Find("administrators","group");
object members = admGroup.Invoke("members", null);
dann ein neues Directory für jedes Mitglied in der Mitglieder-Objekt erstellen:
foreach (object groupMember in (IEnumerable)members)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
//Do what you want
}
Das Element-Objekt in dieser foreach Schleife ist eine Last von Daten über den Benutzer aufweist im Inneren. Vergleichen Sie die Mitgliedsnamen mit dem aktuellen in der Schleife:
if (memberSearch.name == member.name) {
return true;
} else {
return false;
}
Sie auch durch die Mitglieder suchen konnte Objekt um den Benutzer zu finden usw. Es gibt viele Möglichkeiten, es zu tun. Hoffe das hilft!
Mit UserPrincipal.GetAuthorizationGroups überprüfen, ob der Benutzer in einer Gruppe ist, die administrativen Zugriff auf den Computer erlaubt.
Erhalte zuerst ein UserPrincipal-Objekt mit FindByIdentity. Rufen Sie dann die Autorisierungsgruppen ab, bei denen der Benutzer Mitglied ist. Überprüfen Sie jede Gruppe, um festzustellen, ob sie mit der Gruppe der integrierten Administratoren übereinstimmt. Wenn sich die Gruppe der integrierten Administratoren nicht in den Berechtigungsgruppen des Benutzers befindet, ist der Benutzer kein Administrator auf dem lokalen Computer.
using System.DirectoryServices.AccountManagement;
using System.Linq;
var name = Environment.UserName;
var user = UserPrincipal.FindByIdentity(new PrincipalContext(ContextType.Domain), name);
var groups = user.GetAuthorizationGroups();
var isAdmin = groups.Any(g => g.Name == "Administrators");
Console.WriteLine("Admin: " + isAdmin);
- 1. Ist der Benutzer in der Dialout-Gruppe?
- 2. Sharepoint: Überprüfen, ob ein Benutzer Mitglied einer Gruppe ist
- 3. Wie erkennen, ob ein Benutzer ausgeloggt ist, in PHP?
- 4. Erkennen, ob der Dateieingabedialog geöffnet ist
- 5. Wie schreibe ich eine LDAP-Abfrage, um zu testen, ob der Benutzer Mitglied einer Gruppe ist?
- 6. So prüfen Sie (in der Vorlage), ob der Benutzer zu einer Gruppe gehört
- 7. Erkennen, ob Chrome Webview ist?
- 8. Auf vorhandenes Objektelement prüfen oder: Wie überprüft man, ob der Benutzer in mindestens einer Gruppe der Gruppe
- 9. Sehen Sie, ob Benutzer Teil der Active Directory-Gruppe in C# + Asp.net ist
- 10. Erkennen, ob der Benutzer innerhalb eines Kreises klickt
- 11. Erkennen, ob JIT verfügbar ist
- 12. Identifizieren, ob ein Mitglied einer Gruppe ein Benutzer oder eine Gruppe in Active Directory ist, mit C#
- 13. Erkennen, ob Datei MP3 ist
- 14. Erkennen einer Matrix in einer Gruppe von Punkten
- 15. Symfony2 - Erkennen, ob sich der Benutzer in einer sicheren Firewall befindet
- 16. Benutzer nach Gruppe in Sharepoint
- 17. schnellste Möglichkeit zu erkennen, ob ein Wert in einer Gruppe von Werten in Javascript
- 18. Überprüfung, ob ein Benutzer Mitglied einer bestimmten Facebook-Gruppe ist (2016)
- 19. Sharepoint: Wie ermitteln, ob Benutzer Mitglied der Gruppe über API ist
- 20. Überprüfen Sie, ob der Benutzer bereits mit Auth.GoogleSignInApi angemeldet ist.
- 21. SSRS überprüfen, ob Benutzer in Gruppe benutzerdefinierte Assembly verwenden
- 22. Überprüfen Sie, ob der Benutzer angemeldet ist
- 23. Ermitteln, ob der Benutzer angemeldet ist
- 24. Erkennen, ob GPS in Titanstudio aktiviert ist
- 25. Erkennen, ob Datei in C++ geöffnet ist
- 26. Erkennen, ob Zeichensatz in Python vorhanden ist
- 27. Überprüfung, ob der Benutzer bereits registriert ist
- 28. iOS: Ohne GPS ist es möglich zu erkennen, ob der Benutzer ein Fahrzeug fährt?
- 29. Ist es möglich zu erkennen, ob das Mobilfunknetz verfügbar ist?
- 30. Suchen, ob Benutzer Mitglied der Active Directory-Gruppe ASP.NET VB ist?
Perfekt, danke. –