使用powershell将TrustedSendersAndDomains导出到csv

suzh9iv8  于 2023-09-27  发布在  Shell
关注(0)|答案(1)|浏览(103)

你好,Stackoverflow社区,这是我第一次发布问题。
我也是powershell的新手,但我能够根据我找到的其他脚本编写一个小脚本,并且它可以工作。我的目标是查询所有邮箱,并输出一个包含用户的列和一个包含其trustedsender和domains的条目的列。我想它重复的用户时,用户有多个条目,并显示没有的情况下,他们没有任何。它看起来像这样:
csv
这就是我的。(为了测试的目的,我设置3个实际用户,但评论部分工作)

$Users = ("user1", "user2", "user3")
#$Users = Get-Mailbox | select -ExpandProperty Alias
$objfull = @()

Foreach ($User in $Users)
        {
         $Junk = Get-MailboxJunkEmailConfiguration $User
         $Emails = Get-MailboxJunkEmailConfiguration $User | select -ExpandProperty TrustedSendersAndDomains
         $obj = New-Object System.Object
              Foreach ($Email in $Emails)
                      {
                         $obj | Add-Member NoteProperty User $User
                         $obj | Add-Member NoteProperty Trusted_Senders $Junk.TrustedSendersAndDomains
                         $objfull += $obj
                      }     
          
         }
$objfull | Export-Csv C:\Users\Leo\export.csv -NoTypeInformation

虽然它会为没有条目的用户抛出错误,但这适用于重复用户,但可信发送者输出的是整个数组,并且是空格分隔的,而不是逗号。
我正在测试的另一个将以我希望的csv方式写入终端。

$Users = ("user1", "user2", "user3")
#$Users = Get-Mailbox | select -ExpandProperty Alias
$objfull = @()

Foreach ($User in $Users)
        {
         $Junk = Get-MailboxJunkEmailConfiguration $User
         $Emails = Get-MailboxJunkEmailConfiguration $User | select -ExpandProperty TrustedSendersAndDomains
         $obj = New-Object System.Object
              Foreach ($Email in $Emails)
                      {
                         Write-Host $Email, $User
                      }     
          
         }
#$objfull | Export-Csv C:\Users\Leo\export.csv -NoTypeInformation

感谢您的帮助提前!

lh80um4z

lh80um4z1#

$Users = (Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox).alias

$exports = Foreach ($user in $users)
{

Write-Host "Working on $user now!" -ForegroundColor Green

Get-MailboxJunkEmailConfiguration $user | Select-Object identity,enabled,trustedsendersanddomains}

$exports | ForEach-Object {

    
    $Is_enabled = $_.enabled
    $identity = $_.identity
    $trustedsendersanddomains = $_.trustedsendersanddomains

       
    [PSCustomObject]@{
        
        Is_Enabled = $Is_enabled
        Identity   = $identity
       Trustedsendersanddomains = $trustedsendersanddomains

        }
        } | Export-Csv ".\trustedsenderslist.csv" -NoTypeInformation

相关问题