Mike が提案したように、グループの SID をチェックするコード例を作成しました。グループの SID をクラスのコンストラクターに入れるだけSecurityIdentifier
で、現在ログオンしているユーザーに対してチェックが機能します。
Private Sub DoCheck()
Dim sid As New Security.Principal.SecurityIdentifier("S-0-0-00-0000000000-0000000000-0000000000-000"),
result As Boolean
result = IsUserInGroup(sid)
End Sub
Public Shared Function IsUserInGroup(sid As Security.Principal.SecurityIdentifier) As Boolean
Dim user As UserPrincipal
user = UserPrincipal.Current
For Each group As Principal In user.GetGroups()
If group.Sid.Equals(sid) Then Return True
Next
Return False
End Function
コードを機能させるには、インポートする必要がありますSystem.DirectoryServices.AccountManagement
。
Imports System.DirectoryServices.AccountManagement
この名前空間は、Microsoft のSystem.DirectoryServices.AccountManagement.dll
.Net 4.0 以降で利用できるようになっていると思います。