![]() |
Exchange. Экспорт контактов
Уважаемые, добрый день!
Такая появилась проблема. Необходимо выгружать контакты пользователей из Exchange в автоматическом режиме. Нашел скрипт Скрытый текст
Цитата:
Скрипт работает, но нужно два усовершенствования: 1. Скрипт должен брать credential из txt файла в формате name.name@domain.ru;password 2. Скрипт выгружает только папку контакты. Как задать, чтобы выгружал все подпапки в контактах? Специалисты, помогите, пожалуйста! |
1. Скрипт должен брать credential из txt файла в формате name.name@domain.ru;password
Код:
$pl = Import-Csv password.txt -Delimiter ";" -Header "Login","Password" Код:
$ExportCollection | Export-Csv -NoTypeInformation -Path $fnFileName Код:
$ExportCollection | Export-Csv -NoTypeInformation -Path $fnFileName -Encoding UTF8 Как планируется запускать скрипт ? Правки выше, если есть только 1 пользователь в файле. |
Изменить txt файл в формат:
Код:
MailboxName;UserName;Password Код:
$creds = Import-Csv users.txt -Delimiter ";" Код:
$coFolderView = New-Object Microsoft.Exchange.WebServices.Data.FolderView(1000) |
Я извиняюсь, но всё же можете подсказать, как именно получить элементы из подпапок и выгрузить их в файл?
И как выгрузить данные с нескольких учётных записей (из users.txt) в разные файлы username.csv? |
Формат users.txt:
Код:
MailboxName;UserName;Password Код:
Add-Type -Path "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll" |
Kazun,
Скрипт, похоже, перебирает все папки и выдаёт несколько тысяч ошибок. Начинается с Select-object : Не удается найти позиционный параметр, принимающий аргумент "System.Object[]" А потом лопатит все свойства (BusinessPhone и пр.) и на каждое выдаёт ошибку. в результате выгрузка не происходит =\ Поможете? Спасибо огромное! |
1) Оставить только одного пользователя
2) В угадайку играть не буду, каждую строку выполняем отдельно и все ошибки сюда. |
1) Оставил 1го пользователя
2) Скрытый текст
Process Contacts
Select-Object : Не удается найти позиционный параметр, принимающий аргумент "System.Object[]". C:\soft\final_ps.ps1:95 знак:19 + $expObj = "" | select DisplayName,GivenName,Surname,Gender,Email1DisplayName, ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Select-Object], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SelectObjectCommand Не удается найти свойство "DisplayName" для данного объекта. Убедитесь, что оно существует и его можно задать. C:\soft\final_ps.ps1:96 знак:4 + $expObj.DisplayName = $Item.DisplayName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Не удается найти свойство "GivenName" для данного объекта. Убедитесь, что оно существует и его можно задать. C:\soft\final_ps.ps1:97 знак:4 + $expObj.GivenName = $Item.GivenName + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound Не удается найти свойство "Surname" для данного объекта. Убедитесь, что оно существует и его можно задать. C:\soft\final_ps.ps1:98 знак:4 + $expObj.Surname = $Item.Surname + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFound И далее - остальное вставлять не стал, т.к. ругается на каждый параметр. После перебора всех свойств выдаёт: Скрытый текст
Export-Csv : Не удается привязать аргумент к параметру "InputObject", так как он имеет значение NULL.
C:\soft\final_ps.ps1:153 знак:22 + $ExportCollection | Export-Csv -NoTypeInformation -Path $fnFileName -Encoding U ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Export-Csv], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportCsvCommand крайняя ошибка выдаётся ещё несколько тысяч раз, после чего выгрузка записывается, но, в результате, пустая. PS в последней версии скрипта в самом конце была лишняя } Возможно где-то нет { ? |
Убрать пробел в строке с Select в месте ,M obilePhone, должно ,MobilePhone,
|
Цитата:
После исправления, в скрипте всё работает. |
Время: 15:20. |
Время: 15:20.
© OSzone.net 2001-