【问题标题】:C# equivalent of powershell statementC# 等效于 powershell 语句
【发布时间】:2018-05-07 22:54:48
【问题描述】:

Powershell 中的以下代码为我获取 DC 的 ntdsaGUID(用于 repadmin)

Get-ADDomainController -filter * | Select-Object -Property Name, IPv4Address, @{n='DsaGuid'; e={(Get-ADObject $_.NTDSSettingsObjectDN).ObjectGUID}}

我很难在 C# 中生成等效项。

DomainController(源自:domain.DomainControllers)上有一个名为 NtdsaObjectGuid 的私有成员,但我不知道我是否能做到这一点,即使 VS 可以。

在 C# 中获取 DC 的 DSA GUID 是否有受支持的方法?

谢谢!

【问题讨论】:

  • 我不明白你的问题。您想如何使用 C# 获取这些数据?您想参考 System.Management.Automation 并运行您的 PS 单线吗?还是您想使用 System.DirectoryServices 命名空间?请注意,对 System.DirectoryServices.ActiveDirectory.DomainController 类使用 FindAll() 方法应该可以为您提供大部分信息(或者只需查找特定域控制器的 directoryEntry 并检索所需的属性)。
  • 我想在 C# 中执行此操作。我可以得到所有的DC没问题。我只是无法在 C# 中看到它的 DSA GUID。当我有一个 DC 并在 VS 中检查它时,我可以看到非公共成员有“NtdsaObjectGuid”这就是我想要的,但由于它似乎是非公共的,我不知道如何......

标签: c# powershell active-directory


【解决方案1】:

我最终使用了 Steinberg 在这个答案中提供的帮助类: I need to access a non-public member (Highlighted Item) of a Combo Box

这让我可以得到我需要的 NtdsaObjectGuid。

【讨论】:

    猜你喜欢
    • 2011-03-18
    • 2010-09-25
    • 2016-12-20
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多