Невозможно выполнить запрос для возврата информации на основе 3 различных условий в оболочке обмена - PullRequest
0 голосов
/ 14 февраля 2019

Несколько нововведений для обмена оболочки.Я хочу выполнить запрос для возврата почтовых ящиков ресурса / оборудования Exchange, которые соответствуют определенным условиям

Get-mailbox -RecipientTypeDetails RoomMailbox, EquipmentMailbox | foreach-object {Get-CalendarProcessing $_.alias | select identity, AllowConflicts, ConflictPercentageAllowed, MaximumConflictInstances | where {($_.MaximumConflictInstances >=1) -and ($_.AllowConflicts -eq $true) -and ($_.ConflictPercentageAllowed >=1)}}  | export-csv h:\test12346.csv 

Но я получаю это сообщение об ошибке ниже

out-file : Access to the path 'C:\Windows\System32\=1' is denied.
At line:1 char:212
+ ... nces | where {($_.MaximumConflictInstances >=1) -and ($_.AllowConflicts -eq $tru ...
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (:) [Out-File], UnauthorizedAccessException
    + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

Я знаю, потенциально или мойсинтаксисы условий являются неправильными для параметров MaximumConflictInstances и / или AllowConflicts, потому что, когда я выполнил указанную ниже команду (частично из начальной команды), она работала нормально, как ожидалось

Get-mailbox -RecipientTypeDetails RoomMailbox, EquipmentMailbox | foreach-object {Get-CalendarProcessing $_.alias | select ide
ntity, AllowConflicts, ConflictPercentageAllowed, MaximumConflictInstances | where {($_.AllowConflicts -eq $true)}}  | export-csv h:\allowC.csv

Я пробовал ниже и теперь появляется I 'Я что-то упустил.Может ли кто-нибудь помочь мне просмотреть мой код и сообщить, что мне не хватает?

Get-mailbox -RecipientTypeDetails RoomMailbox, EquipmentMailbox | foreach-object {Get-CalendarProcessing $_.alias | select identity, AllowConflicts, ConflictPercentageAllowed, MaximumConflictInstances | where {($_.AllowConflicts -eq $true)  -and  {($_.MaximumConflictInstances -gt 1) -OR ($_.ConflictPercentageAllowed -gt 1)}}  | export-csv h:\test12346.csv 

Короче говоря, я просто пытаюсь экспортировать все объекты комнаты обмена и оборудование, если для их параметров - allowconflicts установлено значениеTRUE и MaximumConflictInstances & ConflictPercentageAllowed равно ИЛИ больше 1 для обоих

Спасибо, Роб

1 Ответ

0 голосов
/ 14 февраля 2019

При выполнении сравнения PowerShell не использует оператор сравнения "> =".Это должно выглядеть так:

where-object { ($_.MaximumConflictInstances -ge 1) -and ($_.AllowConflicts -eq $true) -and ($_.ConflictPercentageAllowed -ge 1)}

Вы можете просмотреть операторы сравнения PowerShell здесь: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-6

...