У меня есть требование. В рамках этого процесса я пытаюсь экспортировать ACL в почтовый ящик Exchange в CSV и импортировать его немного позже. Одним из атрибутов разрешений почтового ящика Exchange является массив, поэтому наш заголовок CSV имеет $_.AccessRights
в качестве заголовка массива, так как мы используем Select {$_.AccessRights}
для экспорта этого массива.Редактирование заголовка CSV
Проблема возникает при импорте, потому что Import-Csv
не понравится. Я пытаюсь найти способ редактировать только $_.
из заголовка только для этого атрибута и перезаписать файл перед импортом. Попробуйте Import-Csv -Header
и Get-Object
с -replace
, которому не повезло. Любые другие мысли?
Редактировать: Я на самом деле не просто пытаюсь сделать Import-Csv
, но на самом деле пытается запустить run Add-MailboxPermission
- Сценарий Exchange для импорта ACL в почтовый ящик. Таким образом, код, который я пытаюсь запустить,
Import-Csv $ACLExportFile | foreach { Add-MailboxPermission -Identity $_.Identity -user $_.user -AccessRights $_.AccessRights | Out-File $LogACLImport -append }
Где $ ACLExportFile это права доступа к файлам я экспортированных ранее с использованием
Get-Mailbox -identity $OldUser | Get-MailboxPermission | Select {$_.AccessRights}, Deny, InheritanceType, User, Identity, IsInherited, IsValid | Export-Csv $ACLExportFile
Sample-файл, который я получил, Uploaded to Google Drive here
Вы можете оставить свой сценарий? –
Невозможно воспроизвести. 'Импорт-Csv' импортирует CSV с заголовком' $ _. AccessRights' просто отлично. Просьба представить доказательства (код и полное сообщение об ошибке). –
Как и образец вашего csv для тестирования! – Matt