【发布时间】:2021-09-28 11:29:13
【问题描述】:
Public Class Filters
Inherits AdvancedFilters
Public Sub New(ByVal p As Principal)
MyBase.New(p)
End Sub
Public Sub CreatedAfter(ByVal value As Date)
Dim strValue = value.ToString("yyyyMMddHHmmss.0Z")
AdvancedFilterSet("WhenCreated", strValue, GetType(String), MatchType.GreaterThanOrEquals)
End Sub
End Class
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Using context = New PrincipalContext(ContextType.Domain)
Using userPrin As New UserPrincipal(context) With {
.Enabled = True}
Dim filter = New Filters(userPrin)
filter.CreatedAfter(Date.UtcNow.AddDays(-20))
For Each result In (New PrincipalSearcher(userPrin)).FindAll()
Dim de As DirectoryEntry = TryCast(result.GetUnderlyingObject(), DirectoryEntry)
Dim dn1 As String = de.Properties("CN")(0)
Dim dn2 As String = de.Properties("whenCreated")(0)
DataGridView1.Rows.Add(dn1, dn2)
Next result
End Using
End Using
End Sub
代码显示从当前日期起最近 20 天内创建的用户。
如何显示按从 DateTimePicker +20 天中选择的日期创建的用户列表。
例如:
DateTimePicker = 09/08/2021
用户列表应包括创建日期为 08/09/2021+20days (28/09/2021)的用户
【问题讨论】:
标签: vb.net active-directory principalcontext