Powershell - Foreach внутри foreach? - PullRequest
0 голосов
/ 10 марта 2020

Я действительно борюсь со скриптом Powershell, который может откатывать настройки, сделанные в политике OWA. У меня есть старые настройки политики OWA, экспортированные в CSV, используя:

$LivePolicies = Get-OwaMailboxPolicy | Select-Object Id, Name, IsDefault, ConditionalAccessPolicy, ConditionalAccessFeatures, AllowOfflineOn, AdditionalStorageProvidersAvailable | Export-Csv $outputpath\RollbackBackup_$(get-date -f yyyy-MM-dd_HH_mm_ss)_backup.csv -NoClobber -NoTypeInformation

Так вот данные, к которым я хотел бы откатиться. Импорт данных с использованием: Import-CSV -Path "literal path to CSV"

Проблема возникает, когда я хочу использовать эту информацию для сброса существующих политик. Я хочу, чтобы скрипт получил идентификатор или имя существующей политики (как показано ниже), сопоставил его с импортированным идентификатором политики и использовал свойства политики в команде set-owamailboxpolicy.

Get-OwaMailboxPolicy | Select-Object Id, Name, IsDefault, ConditionalAccessPolicy, ConditionalAccessFeatures, AllowOfflineOn, AdditionalStorageProvidersAvailable

Я не могу понять, как ссылаться на свойства соответствующих политик - например, ConditionalAccessPolicy. Я представляю, что PowerShell видит импортированные данные в виде таблицы со свойствами в качестве заголовков. Каждая строка содержит информацию о политике. Мне нужно выяснить, как создавать сценарии, когда идентификатор совпадает, и идентификатор использует эти строки для предоставления данных свойства, хранящихся в соответствующей ячейке ... Правильно ли я думаю, что PowerShell видит это как таблицу?

I ' мы пытались установить переменные для свойств, но они либо пусты, либо имеют свойства для всех политик.

Будем благодарны за любые рекомендации.

...