Rubrik: System/Windows · Computer/Benutzer/Ländereinstellungen | VB-Versionen: VB.NET | 14.01.03 |
Welcher Benutzergruppe gehört der User an? (.NET) Dieser Tipp verrät, wie sich in VB.NET ermitteln lässt, welcher Benutzergruppe der aktuelle User angehört. | ||
Autor: Dieter Otter | Bewertung: | Views: 17.126 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Letzte Woche haben wir Ihnen einen Tipp vorgestellt, mit dem sich unter Visual Basic 6 feststellen lässt, mit welchen Rechten ein User im System angemeldet ist. Hierzu mussten zahlreiche API-Funktionen eingesetzt werden.
Siehr auch: Mit welchen Rechten ist ein User angemeldet?
Unter VB.NET lässt sich das wesentlich leichter ermitteln
Basierend auf unserem Tipp Welcher User ist angemeldet? (VB.NET) muss man den Code lediglich um ein paar "Abfragezeilen" erweitern:
' Klasse importieren Imports System.Security.Principal Public Class Form1 Inherits System.Windows.Forms.Form ' UserStatus Public Enum USER_PRIV As Integer USER_PRIV_GUEST = 0 USER_PRIV_USER = 1 USER_PRIV_POWERUSER = 2 USER_PRIV_ADMIN = 3 End Enum Public Function User_LogInState() As USER_PRIV ' Verweis auf aktuell angemeldeten ' Benutzers erstellen Dim oUser As New WindowsPrincipal(WindowsIdentity.GetCurrent) ' Anmeldestatus prüfen If oUser.IsInRole(WindowsBuiltInRole.Administrator) Then ' Admin? Return (USER_PRIV.USER_PRIV_ADMIN) ElseIf oUser.IsInRole(WindowsBuiltInRole.PowerUser) Then ' PowerUser = Admin mit leicht eingeschränkten Rechten Return (USER_PRIV.USER_PRIV_POWERUSER) ElseIf oUser.IsInRole(WindowsBuiltInRole.User) Then ' User mit eingeschränkten Rechten? Return (USER_PRIV.USER_PRIV_USER) ElseIf oUser.IsInRole(WindowsBuiltInRole.Guest) Then ' Gast? Return (USER_PRIV.USER_PRIV_GUEST) End If End Function End Class
Aufruf:
' Ist der User als Admin angemeldet? If User_LogInState() = USER_PRIV.USER_PRIV_ADMIN Then MsgBox "Sie sind als Administrator angemeldet!" Else MsgBox "Sorry... leider kein Admin!" End If