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

如何在C#中获取当前用户的Active Directory详细信息

在C#中获取当前用户的Active Directory详细信息,可以使用System.DirectoryServices.AccountManagement命名空间中的PrincipalContext和UserPrincipal类。以下是一个示例代码:

代码语言:csharp
复制
using System;
using System.DirectoryServices.AccountManagement;

class Program
{
    static void Main(string[] args)
    {
        // 创建PrincipalContext对象
        PrincipalContext context = new PrincipalContext(ContextType.Domain);

        // 获取当前用户的UserPrincipal对象
        UserPrincipal user = UserPrincipal.Current;

        // 输出用户的详细信息
        Console.WriteLine("用户名:" + user.Name);
        Console.WriteLine("显示名:" + user.DisplayName);
        Console.WriteLine("电子邮件地址:" + user.EmailAddress);
        Console.WriteLine("帐户创建时间:" + user.AccountExpirationDate);
        Console.WriteLine("密码最后更改时间:" + user.LastPasswordSet);
        Console.WriteLine("密码到期时间:" + user.PasswordExpirationDate);
        Console.WriteLine("是否启用帐户:" + user.Enabled);
        Console.WriteLine("是否锁定帐户:" + user.IsAccountLockedOut());
        Console.WriteLine("是否需要更改密码:" + user.PasswordNeverExpires);
    }
}

在上面的代码中,我们首先创建了一个PrincipalContext对象,该对象表示与Active Directory域的连接。然后,我们使用UserPrincipal.Current属性获取当前用户的UserPrincipal对象。最后,我们使用UserPrincipal对象的属性和方法输出用户的详细信息。

需要注意的是,在运行上面的代码之前,需要确保已经安装了.NET Framework 3.5或更高版本,并且已经添加了对System.DirectoryServices.AccountManagement.dll的引用。

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

相关·内容

Active Directory获取域管理员权限攻击方法

攻击者可以通过多种方式获得 Active Directory 域管理员权限。这篇文章旨在描述一些当前使用比较流行。...SYSVOL 是 Active Directory 中所有经过身份验证用户都具有读取权限域范围共享。...域控制器不会跟踪用户是否真正连接到这些资源(或者即使用户有权访问)。域控制器在 Active Directory 查找 SPN 并使用与 SPN 关联服务帐户加密票证,以便服务验证用户访问权限。...此技术清除当前用户所有现有 Kerberos 密钥(散列),并将获取散列注入内存以用于 Kerberos 票证请求。...一旦攻击者拥有 NTDS.dit 文件副本(以及用于解密数据库文件安全元素某些注册表项),就可以提取 Active Directory 数据库文件凭据数据。

5.1K10

何在代码获取Java应用当前版本号?

最近需要在项目中获取项目的版本号,最笨方法莫过于硬编码一个版本号,当然我也是这么干。不过闲下来时候突发奇想Spring Boot项目中pom.xml定义版本号能不能通过API获得呢?...从配置文件读取 Maven在构建项目时可以通过资源插件将构建属性即pom.xml属性注入到指定资源文件,具体操作为: ... src/main/resources <...Spring Boot提供 Spring Boot其实已经内置了获取项目构建信息自动配置ProjectInfoAutoConfiguration,它包含一个条件BeanBuildProperties:...spring-boot-version", "time" : { "epochSecond" : 1620664643, "nano" : 591000000 } } 总结 今天介绍了几种从通过API获取项目构建版本信息方法

3.1K20

何在代码获取Java应用当前版本号?

最近需要在项目中获取项目的版本号,最笨方法莫过于硬编码一个版本号,当然我也是这么干。不过闲下来时候突发奇想Spring Boot项目中pom.xml定义版本号能不能通过API获得呢?...从配置文件读取 Maven在构建项目时可以通过资源插件将构建属性即pom.xml属性注入到指定资源文件,具体操作为: ... src/main/resources <...Spring Boot提供 Spring Boot其实已经内置了获取项目构建信息自动配置ProjectInfoAutoConfiguration,它包含一个条件BeanBuildProperties:...spring-boot-version", "time" : { "epochSecond" : 1620664643, "nano" : 591000000 } } 总结 今天介绍了几种从通过API获取项目构建版本信息方法

5.6K20

使用 AD 诱饵检测 LDAP 枚举和Bloodhound Sharphound 收集器

何在 Active Directory 环境检测 Bloodhound SharpHound 收集器和 LDAP 侦察活动完成枚举。...Active Directory 是一个集中式数据库,用于描述公司结构并包含有关不同对象(如用户、计算机、组和)信息。以及它们在环境相互关系。...在活动目录,可以创建用户帐户、组帐户、服务帐户、计算机帐户等形式诱饵帐户。可以添加相关详细信息,使系统、服务、组等看起来更逼真。...Active Directory 域中任何用户都可以查询其组织在域控制器上运行 Active Directory。...我们还将在对象公共属性添加详细信息,如下所示: 在描述添加详细信息,诱饵用户对象组织属性 在计算机帐户操作系统名称、版本和 DNS 名称属性添加详细信息 如果是群组,请确保添加群组信息、添加成员并使其看起来合法

2.4K20

使用PowerShell管理和修改Windows域密码策略

Windows Active Directory域服务为我们提供了强大用户管理功能,包括密码策略设定。这项功能可以帮助我们制定更加安全密码策略,减少安全风险。...首先,我们需要在已连接到Active Directory主机上运行PowerShell,以管理员身份打开,然后加载Active Directory模块: Import-Module ActiveDirectory...接着,我们可以通过以下命令查看当前默认域密码策略: Get-ADDefaultDomainPasswordPolicy 这个命令将返回有关Active Directory默认域密码策略详细信息...Get-ADDefaultDomainPasswordPolicy命令输出包含有关Active Directory默认域密码策略详细信息。...MinPasswordAge: 这是用户在更改其密码之前必须保持其当前密码最短时间。此值为TimeSpan对象。 MinPasswordLength: 这是密码必须最少字符数。

1K30

.NET Core 2.2 正式发布

它包括对运行时诊断改进、对 Windows ARM32 和 SQL 客户端 Azure Active Directory 支持。此版本中最大改进是 ASP.NET Core。...默认情况下, 它在.NET Core 3.0 启用,我们希望它保留在该配置。 运行时事件 通常需要监视运行时服务 (当前进程GC、JIT和线程池),以了解这些服务在运行应用程序时行为。...为了使用该功能, 您可以使用 Microsoft.IdentityModel.Clients.ActiveDirectory NuGet Active Directory身份验证库获取访问令牌。...文档(https://docs.microsoft.com/azure/active-directory/develop)....钩子可用于设置跟踪或遥测注入、设置用于处理回调或其他与环境相关行为。钩子与程序入口点是分开,因此不需要修改用户代码。 有关详细信息, 请参阅Host startup hook。

93230

【内网渗透】域渗透实战之 cascade

图片获得该帐户所有详细信息base64解密接着使用winrm进行连接,获取shell获取root.txt总结:首先,我们通过nmap扫描发现目标主机是Windows Server 2008 R2 SP1...现在,Active Directory 管理中心提供了回收站功能:您所见,您可以使用搜索过滤器快速找到您感兴趣已删除对象。要恢复对象,只需单击 窗口右侧任务列表恢复 即可。...好吧,如果您不知道对象删除之前 dn 是什么,您可以尝试以下技巧:获取当前 dn 并替换 NULL 终止字符(“A”)及其右侧所有内容,并将其替换为 lastKnownParent 的当前值属性。...选择面板左下角扩展选项。单击运行按钮。然后我们可以再次找到复活对象,看看它是什么样子:您所见,我们从技术上恢复了已删除用户对象。然而,它丢失了删除之前所拥有的大部分信息。...属性 定义了从 Active Directory 永久删除已删除对象之前天数。

26420

PetitPotam – NTLM 中继到 AD CS

在企业环境中部署 Active Directory 证书服务 (AD CS) 可以允许系统管理员利用它在不同目录对象之间建立信任。...Web 界面用于允许用户获取证书(Web 注册),通过 HTTP 协议,不支持签名并接受 NTLM 身份验证。...Active Directory 证书服务可以作为角色安装在域控制器上或作为域一部分单个服务器。下图说明了攻击步骤: 攻击需要认证机构身份。...Rubeus.exe asktgt /user:DC$ /certificate: /ptt 票证将导入到用户当前会话。...运行以下命令将验证票证是否已缓存到当前登录会话。 klist 由于票据被缓存,DCSync技术可用于检索“ krbtgt ”帐户哈希值,以创建黄金票据并建立域持久性。

1.2K10

【内网渗透】域渗透实战之 cascade

Active Directory 对象恢复(或回收站)是 Server 2008 添加一项功能,允许管理员恢复已删除项目,就像回收站恢复文件一样。...获得该帐户所有详细信息 base64解密 接着使用winrm进行连接,获取shell 获取root.txt 总结: 首先,我们通过nmap扫描发现目标主机是Windows Server 2008...现在,Active Directory 管理中心提供了回收站功能: 您所见,您可以使用搜索过滤器快速找到您感兴趣已删除对象。 要恢复对象,只需单击 窗口右侧任务列表恢复 即可。...好吧,如果您不知道对象删除之前 dn 是什么,您可以尝试以下技巧:获取当前 dn 并替换 NULL 终止字符(“A”)及其右侧所有内容,并将其替换为 lastKnownParent 的当前值属性。...属性 定义了从 Active Directory 永久删除已删除对象之前天数。

20840

运维,诊断,健康检查,优化定制工具ora使用说明

可以把ora放到已有的PATH或增加当前路径到PATH,避免每次在命令前增加./ ora 默认使用数据库sys用户权限连接数据库(部分命令需要sysdba权限,比如查隐含参数等) ;...脚本配置了DBUSER="/ as SYSDBA" , 如果需要其他用户system连接, 或通过客户端连接,或连接到某个pdb,需要修改这个配置....; 正在执行 parallel processes ; 35 dir 显示当前数据库创建 directory 信息 36 drop patch|profile|baseline ...active格式(text格式需指定),保存到当前目录 _ACTIVE.html 70 mon_bind 从v$sql_monitor获得指定sql_id绑定变量信息...方式显示指定session id详细信息 分节点 106 sessions ora sessions [active]|all (active: 不包括 BACKGROUD) 107 session_event

1.1K30

09-如何为CDSW集成Active Directory认证

Window Server 2012 R2搭建Acitve Directory域服务》、《02-Active Directory安装证书服务并配置》、《03-Active Directory使用与验证...本篇文章Fayson主要介绍如何为CDSW集成Active Directory认证并指定用户组分配访问权限。...Directory已安装且正常运行 2.测试环境描述 ---- Fayson在前面介绍了《如何在CDH5.14安装CDSW1.3》和《如何在CDH5.15安装CDSW1.4》,这里就不再重复讲CDSW...Group Search Filter member={0} 通过用户dn获取对应组 LDAP User Groups 允许访问CDSW服务组,空为所有用户都可以访问 LDAP Full Administrator...5.总结 ---- 1.在CDSW如果需要限制用户组访问或为用户组赋予超级管理员权限,均是通过登录成功用户DN(uid=testa,ou=Cloudera Users,dc=fayson,dc=com

1.3K20

重磅!!!微软发布.NET Core 2.2

它包括对运行时诊断改进,对ARM32 for Windows和Azure Active Directory for SQL Client支持。此版本中最大改进是在ASP.NET Core。...您可以在.NET Core 2.2发行说明查看该发行版完整详细信息。发行说明包含相关说明,已知问题和解决方法。请在评论或dotnet / core#2098报告您发现任何问题。...运行时事件(Runtime Events) 通常需要监视运行时服务(当前进程GC,JIT和ThreadPool),以了解这些服务在运行应用程序时行为方式。...要使用此功能,您可以使用Microsoft.IdentityModel.Clients.ActiveDirectory NuGet包包含Active Directory身份验证库for .NET获取访问令牌值...以下示例显示如何使用Azure Active目录验证SQL Server连接: 有关更多信息,请参阅ADAL.NET和Azure Active Directory文档。

74720

kerberos认证下一些攻击手法

Directory不存在虚构帐户。...,实用白银票据添加cifs后,dir由无权查看变为有权查看 hash位置 运行系统,需要从内存抓取->lassas.exe进程里边存放是活动用户hash(当前登录用户)普通域用户或普通工作组:...[6]诸如Mimikatz之类通用凭证转储者通过打开进程,找到LSA秘密密钥并解密内存存储凭证详细信息(包括Kerberos票证)部分,来访问LSA子系统服务(LSASS)进程。...这降低攻击者通过横向扩展,获取域管理员账户,获得访问域控制器Active Directoryntds.dit权限。...默认情况下,Active Directory需要预身份验证。但是,可以通过每个用户帐户上用户帐户控制设置来控制此设置。

3K61

这7种工具可以监控AD(Active Directory健康状况

为什么监视 Active Directory 很重要? 监控是识别 Active Directory 数据库瓶颈和错误第一步,因此管理员可以在发生重大中断、崩溃或业务影响之前修复它们。...AD 主要功能之一是跨林域控制器复制和同步,该软件使用八个传感器来监控和警告此过程偏差。 AD 另一个挑战是维护用户数据,例如已注销用户、禁用用户、注册域管理员等。...可以细化每个 DC 等详细信息,以显示有助于分析 Active Directory 运行状况DNS 配置、架构和设置详细信息。...特征 检测过期密码并监控与用户帐户相关其他指标 使用 Active Directory 复制监视器确定哪个域控制器存在复制问题 能够计划和生成自定义绩效报告 监控 Active Directory 登录失败事件...它提供有关 AD 可用性和响应时间、LDAP 连接时间、FSMO 网络延迟、ATQ 延迟和延迟等重要更新。 特征 检测用户身份验证问题,登录缓慢、锁定等。

2.8K20

Cloudera安全认证概述

收集有关KDC所有配置详细信息(或在设置过程让Kerberos管理员可以帮助您)是与集群和Kerberos集成无关一项重要初步任务,而与部署模型无关。...例如,集群业务用户只需在登录时输入密码,票证处理,加密和其他详细信息就会在后台自动进行。...优点 缺点 本地MIT KDC充当中央Active Directory防护对象,以防止CDH集群许多主机和服务。在大型集群重新启动服务会创建许多同时进行身份验证请求。...架构摘要 所有服务和用户主体都在Active Directory KDC创建。 所有集群主机都使用来配置中央AD Kerberos领域krb5.conf。...您还需要在AD完成以下设置任务: Active Directory组织单位(OU)和OU用户 -应该在Active Directory创建一个单独OU,以及一个有权在该OU创建其他帐户帐户。

2.8K10

在满补丁Win10域主机上绕过图形接口依赖实现本地提权

在最近一次活动目录(Active Directory)评估期间,我们以低权限用户身份访问了一个完全修补且安全域工作站。...然后,此身份验证将被中继到Active Directory LDAP服务,以便为该特定计算机设置基于资源约束委派[2],这引起了我们注意。...默认Active Directory ms-DS-MachineAccountQuota属性,允许所有域用户向域中添加最多10个计算机帐户[4]。...默认情况下,经过身份验证用户Active Directory集成DNS(ADIDNS)区域中,具有“创建所有子对象”ACL。这样可以创建新DNS记录。 ?...前三个条件很容易满足,因为它们代表了默认Active Directory和Windows配置。但是,GUI依赖在我们场景着实是一个令人感到沮丧限制。

1.4K10

谈谈域渗透中常见可滥用权限及其应用场景(二)

它使用图形理论来自动化Active Directory 环境搞清楚大部分人员关系和细节。...在没有启用 AD 回收站域中,当 Active Directory 对象被删除时,它会变成一个墓碑 。其在指定时间段内保留在分区 Deleted Objects 容器 tombstone 。...与墓碑一样,它大部分属性都被删除,并且在 tombstoneLifetime 属性指定时间段内持续存在于 Active Directory 。...Active Directory 对象恢复(或回收站)是 Server 2008 添加一项功能,允许管理员恢复已删除项目,就像回收站对文件所做一样。...: Get-ADObject -filter { SAMAccountName -eq "TempAdmin" } -includeDeletedObjects -property * 在该用户详细信息

68920
领券