none
Задание шаблона календаря всем пользователям Outlook. скрипт RRS feed

  • Вопрос

  • СЗадача стоит так. Есть календарь с праздниками и выходными днями, нужно этот календарь (точнее шаблон) прикрутить ко всем ящика пользователей. Начитавшись вот этой  статьи:

    http://www.msexchange.org/blogs/walther/news/centrally-adding-location-specific-holidays-to-exchange-2010-calendars-620.html

    у меня все таки получилось прикручивать шаблоны к ящикам, а точнее к ящику. Именно к одному (любому) ящику. А хотелось бы их скопом прикрутить. ( более 200 штук.). Поэтому начитавшись вот этой статьи : http://habrahabr.ru/post/130640/

    Я решил попробовать набрать вот такой скрипт:

    Сначала выгрузил все почтовые ящики -  Get-Mailbox | Select-Object alias, whencreated | export-csv c:\113.csv

    Потом изменил  csv фаил, удалил все ящики кроме тестовых, на которых я хотел попрактиковаться в насаждении шаблона календаря "группе ящиков"

    Потом создал pst фаил с шаблон  календаря определенного пользователя и сохранил его на шару

    New-MailboxImportRequest -Mailbox severin -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"

    Далее измененный csv  фаил по пробовать прикрутить к этому скрипту

    Import-Csv c:\113.csv | ForEach-Object {New-MailboxImportRequest -mailbox $_.Alias -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"}

    Но увы ни чего не сработало. Пишет что не ту имени почтового ящика в параметре  -mailbox 

    Как правильно написать скрипт? Или как задать шаблон группе пользователей?

    24 января 2013 г. 2:40

Ответы

  • Если параметр $a выдаст "нормальные" данные, то команды будут вот такие (в прошлый раз ошибся, параметр Mailbox принимает только alias, smtp address, display name):

    Get-Mailbox | select alias, whencreated | Export-Csv -Path "c:\113.csv" -NoTypeInformation -Delimiter ";"
    Import-Csv -Path "c:\113.csv" -Delimiter ";" | ForEach-Object {New-MailboxImportRequest -mailbox $_.Alias -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"}


    Blog - Smtp25.ru

    • Помечено в качестве ответа piligrimmu 24 января 2013 г. 9:42
    24 января 2013 г. 7:59
    Отвечающий

Все ответы

  • Добрый день.

    Попробуйте вот так:

    Get-Mailbox | select alias, whencreated, distinguishedname | Export-Csv -Path "c:\113.csv" -NoTypeInformation -Delimiter ";"
    Import-Csv -Path "c:\113.csv" -Delimiter ";" | ForEach-Object {New-MailboxImportRequest -mailbox $_.distinguishedname -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"}


    Blog - Smtp25.ru

    24 января 2013 г. 5:40
    Отвечающий

  • Get-Mailbox | select alias, whencreated, distinguishedname | Export-Csv -Path "c:\113.csv" -NoTypeInformation -Delimiter ";"
    Import-Csv -Path "c:\113.csv" -Delimiter ";" | ForEach-Object {New-MailboxImportRequest -mailbox $_.distinguishedname -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"}

    Не помогло. Выходит "приглашение" на ввод информации. Я так понимаю имя ящика.

    Может быть такое что CSV фаил не "кушается" из за того что я его редактировал? Т.к. при сохранении отредактированного CSV, выходит придупреждение, что "может содержать не совместимые форматы"


    • Изменено piligrimmu 24 января 2013 г. 7:44
    24 января 2013 г. 7:43
  • Добрый день!

    У вас в CSV только имена ящиков? Если да то попробуйте перенести из в txt в виде столбца и использовать его.

    24 января 2013 г. 7:53

  • Get-Mailbox | select alias, whencreated, distinguishedname | Export-Csv -Path "c:\113.csv" -NoTypeInformation -Delimiter ";"
    Import-Csv -Path "c:\113.csv" -Delimiter ";" | ForEach-Object {New-MailboxImportRequest -mailbox $_.distinguishedname -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"}

    Не помогло. Выходит "приглашение" на ввод информации. Я так понимаю имя ящика.

    Может быть такое что CSV фаил не "кушается" из за того что я его редактировал? Т.к. при сохранении отредактированного CSV, выходит придупреждение, что "может содержать не совместимые форматы"


    Можете проверить, что занесется в переменную:

    $a = Import-Csv -Path "c:\113.csv" -Delimiter ";"
    $a


    Blog - Smtp25.ru

    24 января 2013 г. 7:58
    Отвечающий
  • Если параметр $a выдаст "нормальные" данные, то команды будут вот такие (в прошлый раз ошибся, параметр Mailbox принимает только alias, smtp address, display name):

    Get-Mailbox | select alias, whencreated | Export-Csv -Path "c:\113.csv" -NoTypeInformation -Delimiter ";"
    Import-Csv -Path "c:\113.csv" -Delimiter ";" | ForEach-Object {New-MailboxImportRequest -mailbox $_.Alias -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"}


    Blog - Smtp25.ru

    • Помечено в качестве ответа piligrimmu 24 января 2013 г. 9:42
    24 января 2013 г. 7:59
    Отвечающий
  • Get-Mailbox | select alias, whencreated | Export-Csv -Path "c:\113.csv" -NoTypeInformation -Delimiter ";"
    Import-Csv -Path "c:\113.csv" -Delimiter ";" | ForEach-Object {New-MailboxImportRequest -mailbox $_.Alias -FilePath \\SEVERINPC\hara\test.pst -IncludeFolders "#Calendar#"}

    Спасибо за ответ.

    А вообще можно в общих словах, что в моем скрипте было не так ? и как вобще должно быть по логике?

    24 января 2013 г. 10:07
  • Скорее всего что-то не так было в выгруженном файле, т.к. в скрипт я добавил только "-NoTypeInformation -Delimiter ";""

    Blog - Smtp25.ru

    24 января 2013 г. 10:18
    Отвечающий