1
私はcertinユーザーがDACL
に存在するかどうかを確認するために、次のコードを使用します。ユーザーが共有フォルダに対してフルコントロールのアクセス許可を持っているかどうかを確認する方法?
Dim l_managemantObject As ManagementBaseObject() = CType(securityDescriptor.Properties("DACL").Value, ManagementBaseObject())
For Each mObject As ManagementBaseObject In l_managemantObject
l_name = CType(mObject.GetPropertyValue("Trustee"), ManagementBaseObject).Properties("Name").Value.ToString
If CType(mObject.GetPropertyValue("Trustee"), ManagementBaseObject).Properties("Domain").Value IsNot Nothing Then
l_domain = CType(mObject.GetPropertyValue("Trustee"), ManagementBaseObject).Properties("Domain").Value.ToString()
End If
If users.UserName.ToLower = (l_domain & "\" & l_name).ToLower Then
Return True
End If
Next
あなたが見ることができるように、私は、ユーザー名とドメインを取得することができますよ。ユーザーがFullControl
権限を持っているかどうかを確認するにはどうすればよいですか?
編集:
私はfurthur調査を行い、GetAccessMask
を使用して、私はインスタンスが返され、その代わりに、ユーザーまたはグループが保持している共有へのアクセス権を取得できることを発見しました。
したがって、わかりました。 特定のユーザーを取得するにはAccessMask
?