不允许为空元素

时间:2018-12-05 18:28:10

标签: powershell

我似乎无法将任何内容导出到CSV。我做了一些浏览和阅读,但是很难转换脚本。

$allmailbox = Get-Mailbox -ResultSize 20
foreach ($Mailbox in $allmailbox) {
    Get-MailboxFolderPermission -Identity ($mailbox.alias+':\calendar') |
        Where {
            $_.User -like "Anonymous" -and
            $_.AccessRights -ne "None" -or
            $_.User -like "Default" -and
            $_.AccessRights -ne "None" -or
            $_.User -like "Default" -and
            $_.AccessRights -ne "AvailabilityOnly"
        } |
        select Identity, User, AccessRights
} | Export-Csv C:\CSVs\calstest.csv

3 个答案:

答案 0 :(得分:1)

不允许使用的空元素是指|末尾的foreach。循环的结构方式不允许使用管道。下面显示了可以使用的另一种方法。

下面应该将所有内容打包到一个CSV文件中:

Get-Mailbox -ResultSize 20 | foreach {Get-MailboxFolderPermission -Identity $($_.Alias+":\calendar") |  Where {$_.User -like "Anonymous" -and $_.AccessRights -ne "None" -or $_.User -like "Default" -and $_.AccessRights -ne "None" -or $_.User -like "Default" -and $_.AccessRights -ne "AvailabilityOnly"}| select Identity,User,AccessRights} | Export-Csv C:\CSVs\calstest.csv -NoTypeInformation

我在没有Where-Object的情况下对此进行了测试,并成功导出了该文件。如果您没有收到任何信息,则可能需要查看Where中的更多信息。从一个条件开始,然后根据需要增加。

答案 1 :(得分:0)

$allmailbox = Get-Mailbox -ResultSize 20
Foreach ($Mailbox in $allmailbox){Get-MailboxFolderPermission –Identity ($mailbox.alias+':\calendar') | 
Where {
    ($_.User -like "Anonymous" -and $_.AccessRights -ne "None") -or 
    ($_.User -like "Default" -and $_.AccessRights -ne "None") -or 
    ($_.User -like "Default" -and $_.AccessRights -ne "AvailabilityOnly")
    }| select Identity,User,AccessRights} | Export-CSV C:\CSVs\calstest.csv

如果这是您要查找的内容,尽管您必须添加反引号,但我认为它可以被视为完整的查询

答案 2 :(得分:0)

这有效:

$allmailbox = Get-Mailbox -ResultSize 500
$result = Foreach ($Mailbox in $allmailbox){Get-MailboxFolderPermission –Identity ($mailbox.alias+':\calendar') | Where {$_.User -like "Anonymous" -and $_.AccessRights -ne "None" -or $_.User -like "Default" -and $_.AccessRights -ne "None" -or $_.User -like "Default" -and $_.AccessRights -ne "AvailabilityOnly"} | select Identity,User,AccessRights}
$result | Export-CSV C:\CSVs\calstest.csv -NoType