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

时间:2019-06-06 20:07:25

标签: powershell hashtable

我正在尝试输出我用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()来做到这一点,并且只需添加一个键/值即可,因为在我的脚本中使用键/值将是最简单的。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

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}}

答案 1 :(得分:0)

这可以做到:

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