我的任务是创建一个脚本:
我设法执行以下操作,返回邮箱及其主SMTP地址:
$Mailboxes = Get-Mailbox -OrganizationalUnit "OU Goes Here" -ResultSize Unlimited |
Select-Object DisplayName,PrimarySmtpAddress
我还创建了另一个脚本,它返回每个邮箱中的所有用户:
$Mailboxes = Get-Mailbox -OrganizationalUnit "OU Goes Here"
foreach ($mailbox in $Mailboxes) {
Get-MailboxPermission -Identity $mailbox -ResultSize Unlimited |
select identity, user |
Format-Table -Wrap
}
但是,我很难将这两者一起管道,以便在同一输出中恢复邮箱,用户和SMTP地址。
答案 0 :(得分:0)
我使用了以下内容:
$Mailboxes = Get-Mailbox -OrganizationalUnit "OU Goes Here"
foreach ($mailbox in $Mailboxes) {
Get-MailboxPermission -identity $mailbox -ResultSize unlimited | select @{Label="Name";Expression= {$MailBox.DisplayName}},@{Label="Email";Expression= {$MailBox.PrimarySMTPAddress}},identity, user | Format-Table -Wrap
}
答案 1 :(得分:0)
这应该得到你想要的。您必须决定解析权限的方式。
Get-Mailbox -OrganizationalUnit "OU Goes Here" -ResultSize Unlimited |
Select PrimarySmtpAddress,DisplayName,Identity |
% {
$MB=$_;
$Perm = $(Get-MailboxPermission -Identity $MB.identity -ResultSize Unlimited | select identity, user);
New-Object PSObject -Property @{ DisplayName=$_.DisplayName; PrimarySmtpAddress=$_.primarySmtpAddress; Permissions=$perm }
}
例如,您可以选择管道到另一个选择以展开属性
| select * -ExpandProperty Permissions
这也将显示Exchange的各种内置帐户,这可能会产生超出您想要的噪音。