如何将自定义 属性 添加到 "Get-ADUser"?

How do I add a custom property to "Get-ADUser"?

我正在尝试使用 Get-ADUser 输出我从 AD 中提取的信息,这相当简单,但是,我正在尝试将来自 Get-Mailbox 的 primarysmtp 地址添加到该数组中并且 运行 进入一个充满问题的世界。

基本上我有:

$newuser = Get-ADUser $Username -properties Name, DisplayName, GivenName, Surname

我希望将自定义 属性 添加到 $newuser 只是为了输出,而不是实际的 ADUser。

$EXmail = (Get-Mailbox $Username).PrimarySmtpAddress

如何将 $EXmail 添加到 $newuser? 希望它以某种方式将 Email : $EXMail 添加为 属性..

尝试过 $newuser | Add-member,没有成功。 我试过 $newuser.GetEnumerator() 并添加到那个,没有运气。 我希望有一种方法可以用 GetEnumerator() 做到这一点,只需添加一个 Key/Value,因为在我的脚本中使用它是最简单的。

如有任何帮助,将不胜感激!

Add-Member 应该适用于此,但您需要 -Force 开关,因为与 Email 作为 属性 名称存在冲突。

$newuser | Add-Member -MemberType Noteproperty -Name "Email" -Value $EXmail -Force

另一种方法是使用 Select-Object,您根本不需要更改 $newuser 对象。

$newuser | Select-Object Name,DisplayName,GivenName,Surname,@{n="Email";e={$EXMail}}

这样做:

$newuser = Get-ADUser $Username -properties Name, DisplayName, GivenName, Surname, @{n='PrimarySmtpAddress';e={(Get-Mailbox $_.userprincipalname).PrimarySmtpAddress}}