我的问题似乎很基本,但到目前为止,我已经花了几个小时试图解决这个问题。基本上,目标是搜索阻止DL (通讯组列表)成员发送外部电子邮件的传输规则。然后也显示该DL的成员。
下面的代码的作用是,它可以显示"FromMemberOf“中的传输规则和DL值,但不显示它的成员。例如,如果我只运行$dl_info.FromMemberOf,它确实显示了DL组,所以我确定它正在被提取(见附件截图),因此当我使用foreach-objct时,我尝试使用它作为我的数组。我注意到它被称为RawIdentity,我没有定义它。ANy的想法?
param(
[parameter(Mandatory=$true)]
[string]$sid = "SID",
[parameter(Mandatory=$true)]
[string[]]$ExchGuid = "ruleid"
)
$dl_info = @()
foreach ($rule in $ExchGuid){
$dl_info += Get-TransportRule | where {$_.guid -eq $rule} | select Priority, name, RejectMessageEnhancedStatusCode, ExceptIfFromMemberOf, FromMemberOf, @{n="DL_Block_Members";e={$dl_info.FromMemberof | ForEach-Object (Get-DistributionGroupMember $_ -ResultSize unlimited | select name)}}
}
$dl_info

发布于 2019-11-22 17:29:31
我可以使用Pscustomobject来解决这个问题。它可以显示DL成员,但我必须在脚本上工作,以便能够搜索帐户成员资格。另一天的THats
param(
[parameter(Mandatory=$true)][string]$sid = "sid",
[parameter(Mandatory=$true)][string[]]$ExchGuid = "ruleid"
)
$TRule_Info = @()
$DL_Info = @()
foreach ($rule in $ExchGuid){
$TRule_Info = Get-TransportRule | where guid -EQ $rule
foreach ($group in $TRule_Info){
$ht = [pscustomobject]@{
SID = $sid
RuleName = $TRule_Info.Name
DL_Group_Exemption = $TRule_Info.ExceptIfFromMemberOf
DL_BlockGroup_Members = $TRule_Info.FromMemberOf
}
$DL_Info += $ht
}
}
$DL_Infohttps://stackoverflow.com/questions/58951577
复制相似问题