PowerShell и другие скрипты

26.5.2008

Exchange 2003 – Top Users

Рубрика: Learn, PowerShell, Practice, Scripting — Xaegr @ 7:17

Не помню, писал ли я об этом, или еще нет, но во всяком случае поиск не находит :)

У меня в организации пока еще используется Exchange Server 2003, управление которым с помощью PowerShell напрямую невозможно, но вот с помощью WMI… ;)

Итак, простенькая строчка для получения отчета по самым большим почтовым ящикам в Exchange 2003:

Get-WmiObject -ComputerName $exchserver -Namespace root\MicrosoftExchangeV2 -Class Exchange_Mailbox |
sort size -desc | Select MailboxDisplayName, Size, TotalItems | select -First 10

Я думаю всё понятно? :) Получить объекты класса Exchange_Mailbox с такого то компьютера | отсортировать по размеру, в обратном порядке | выбрать свойства MailboxDisplayName, Size, TotalItems | выбрать первые 10 объектов ;) Почти человеческий язык. А ведь это не классический «рекламный» сценарий из учебников, это обычная рутинная операция :)

Ну и еще примерчик – так можно получить информацию о самом сервере Exchange:

Get-WmiObject -ComputerName $exchserver -Namespace root\MicrosoftExchangeV2 -Class Exchange_Server

Кстати, все помнять что в параметре -ComputerName можно указывать несколько компьютеров через запятую? ;)

Комментарии (12) »

  1. Ты этот пример в вебкасте показывал, а на сайте вроде не было.
    Туда же добавить отсылку по почте начальнику отдела который работает напрямую с пользователями и ставишь это всё в шедулёр ;-)

    Комментарий от zorion — 26.5.2008 @ 7:32

  2. … | convert-html | set-content report.html

    send-smtpmail -to «nochalneg@org.ru» -from «odmin@org.ru» -subject «users to promote» -attachment report.html

    Как то так… :)

    Комментарий от Xaegr — 26.5.2008 @ 7:35

  3. тогда send-email с ключём

    -MessageHTML []
    The full text of the HTML message to be sent (without headers).

    Чтобы ему приятнее было :-D

    Комментарий от zorion — 26.5.2008 @ 7:58

  4. Привет, очень приятно видеть MVP говорящего на русском так еще и по PowerShell
    Просто супер!

    Если позволите у меня к вам вопрос (может не в тему, простите)
    Недавно один из админов случайно добавил email address policy без фильтра и всем пользователям прописался дополнительный smtp адрес, так вот пользователей много, больше 3к, нужно мне все испровлять, хотелось бы как всегда воспользоваться всемогущим PowerShell

    $Temp = Get-Mailbox -Identity armarn@contoso.com
    $Temp.EmailAddresses -= «armarn@corp.contoso.com»
    Set-Mailbox -Instance $Temp

    На что он удалит дополнительный адрес armarn@corp.contoso.com, а как быть когда armarn не известная? А известно только @corp.contoso.com,
    Как проделать удаление на всех а не на конкретном пользователе?

    Надеюсь на вашу помощь,
    Премного благодарен!

    Спасибо

    Арман.

    Комментарий от Arman — 4.6.2008 @ 10:58

  5. [...] Рубрика: Learn, PowerShell, Practice, Scripting — Xaegr @ 12:54 Итак, задачка: удалить некоторые из smtp-адресов пользователей, а [...]

    Уведомление от Удаление SMTP-адресов в Exchange 2007 по маске « PowerShell и другие скрипты — 4.6.2008 @ 12:54

  6. 2 Arman:
    Спасибо :)
    Вот ответ – http://xaegr.wordpress.com/2008/06/04/removeaddresses2007/

    Комментарий от Xaegr — 4.6.2008 @ 12:55

  7. Огромное спасибо!

    Добавил в фавориты http://xaegr.wordpress.com,
    надеемся на частые обновления!
    Вы супер!

    Огромное спасибо!

    Комментарий от Arman — 4.6.2008 @ 13:30

  8. Возможно глупый вопрос, но в Exch2k7 средствами PoSh мы можем посмотреть количество сообщений в определенной папке пользователя, можно ли это сделать с помощью PoSh и в Exch2k3?
    На практике – было бы интересно посмотреть сколько сообщений и какой объём занимают папки Deleted Items, например.

    Комментарий от Stanislav — 26.6.2008 @ 11:09

  9. Как написано выше с E2003 через PoSh можно работать через WMI.
    Поэтому нужно смотреть функции WMI. С мейлбоксами он работает, но с папками – нет.

    Почитайте еще

    http://dmitrysotnikov.wordpress.com/2007/09/06/wmi-powershell-for-exchange-2003/

    Если найдете решение, то напишите.

    Комментарий от exchangerus — 26.6.2008 @ 11:44

  10. 2 Stanislav: Не уверен что нового в этом плане появилось в 2007, но в обоих можно сделать например воспользовавшись протоколом IMAP. Вот пример подключения http://xaegr.wordpress.com/2007/11/29/clearmailboximapps1/ В IMAP если я не ошибаюсь, при входе в папку сообщается кол-во элементов в ней, и их размер.

    Комментарий от Xaegr — 26.6.2008 @ 11:46

  11. [...] надо скомбинировать с запросом, который находится здесь. В общем пока эта задачка ещё ждёт [...]

    Уведомление от Изменение структуры почтовые баз Exchange | Булдаков.ru | Блог этот исключительно о моей жизни и моей работе — 21.8.2008 @ 16:50

  12. [...] Комбинированный запрос AD и ExchangeWMI Рубрика: Active Directory, Exchange 2003, PowerShell, Practice, Scripting — Xaegr @ 16:11 Станислав Булдаков подкинул интересную задачку. Ему надо было объеденить данные доступные только из Active Directory, и данные которые можно получить лишь выполненив WMI запрос к Exchange. [...]

    Уведомление от Комбинированный запрос AD и ExchangeWMI « PowerShell и другие скрипты — 25.8.2008 @ 16:12


RSS-лента комментариев к этой записи. URI для обратной ссылки

Оставить комментарий

Блог на WordPress.com.