如何使用内置 Windows 命令检索 AD 信息(在 powershell 中)
How to retrieve AD infomation with builtin Windows commands (no powershell)
我正在编写一个需要来自 Active Directory 的一些信息的程序。我需要的数据是当前用户的电子邮件地址。通过 Sysinternals AD 资源管理器,我能够找到电子邮件地址的正确路径,但是是否有办法查询该路径以获取值?
我的研究只发现了 AD 的 Cmdlet,但客户的 Powershell 没有安装 Active Directory 模块,我无法添加它。
然后我看到有ldap协议(ldap://)。但我不知道如何访问它。
有没有一种方法可以从 AD 中检索任何给定信息而无需安装外部工具、Cmdlet 等?
最好的祝福
最大值
要从命令行执行此操作,您需要使用 dsget
or dsquery
,但这仍然很难。
您可以在 PowerShell 中执行此操作而无需安装任何东西。 PowerShell 中提供了所有 .NET 类,因此您可以执行与我刚才写的 完全相同的操作。它看起来像这样:
$sid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User
$user = [ADSI]"LDAP://<SID=$sid>"
$email = $user.mail
然后您将在 $email
中获得当前用户的电子邮件地址。
[ADSI]
是 type accelerator for DirectoryEntry
.
我正在编写一个需要来自 Active Directory 的一些信息的程序。我需要的数据是当前用户的电子邮件地址。通过 Sysinternals AD 资源管理器,我能够找到电子邮件地址的正确路径,但是是否有办法查询该路径以获取值? 我的研究只发现了 AD 的 Cmdlet,但客户的 Powershell 没有安装 Active Directory 模块,我无法添加它。 然后我看到有ldap协议(ldap://)。但我不知道如何访问它。 有没有一种方法可以从 AD 中检索任何给定信息而无需安装外部工具、Cmdlet 等? 最好的祝福 最大值
要从命令行执行此操作,您需要使用 dsget
or dsquery
,但这仍然很难。
您可以在 PowerShell 中执行此操作而无需安装任何东西。 PowerShell 中提供了所有 .NET 类,因此您可以执行与我刚才写的
$sid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User
$user = [ADSI]"LDAP://<SID=$sid>"
$email = $user.mail
然后您将在 $email
中获得当前用户的电子邮件地址。
[ADSI]
是 type accelerator for DirectoryEntry
.