首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过AD DirectoryEntry在VB.NET中设置AccountExpires

在VB.NET中,您可以使用System.DirectoryServices命名空间中的DirectoryEntryDirectorySearcher类来设置AD用户的AccountExpires属性。以下是一个示例代码:

代码语言:vbnet
复制
Imports System.DirectoryServices

Module Module1

    Sub Main()
        ' 设置AD域名和用户名
        Dim domainName As String = "yourdomain.com"
        Dim userName As String = "username"

        ' 设置AD用户的AccountExpires属性
        SetAccountExpires(domainName, userName)
    End Sub

    Sub SetAccountExpires(ByVal domainName As String, ByVal userName As String)
        ' 设置AD用户的AccountExpires属性
        Try
            ' 创建DirectoryEntry对象
            Dim de As New DirectoryEntry("LDAP://" & domainName)

            ' 创建DirectorySearcher对象
            Dim ds As New DirectorySearcher(de)

            ' 设置DirectorySearcher的搜索条件
            ds.Filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=" & userName & "))"

            ' 搜索AD用户
            Dim result As SearchResult = ds.FindOne()

            ' 如果找到了AD用户
            If result IsNot Nothing Then
                ' 获取AD用户的DirectoryEntry对象
                Dim userEntry As DirectoryEntry = result.GetDirectoryEntry()

                ' 设置AccountExpires属性
                userEntry.Properties("AccountExpirationDate").Value = 0

                ' 保存更改
                userEntry.CommitChanges()

                ' 关闭DirectoryEntry对象
                userEntry.Close()

                Console.WriteLine("AccountExpires属性已成功设置为永不过期。")
            Else
                Console.WriteLine("找不到指定的AD用户。")
            End If
        Catch ex As Exception
            Console.WriteLine("发生异常:" & ex.Message)
        End Try
    End Sub

End Module

在这个示例中,我们首先设置了AD域名和用户名,然后使用DirectoryEntryDirectorySearcher类搜索AD用户。如果找到了AD用户,我们将使用AccountExpirationDate属性将其设置为永不过期。最后,我们将保存更改并关闭DirectoryEntry对象。

请注意,您需要在运行此代码之前安装.NET Framework 3.5或更高版本,并且您需要具有足够的权限来修改AD用户的AccountExpires属性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券