Exchange Management Shell Quick Reference for Exchange 2010, August 2010

by Arman Obosyan 25. August 2010 08:07

Exchange Management Shell Quick Reference for Exchange 2010

Exchange Management Shell Quick Reference for Exchange 2010
This download contains a quick reference sheet that can be used to access frequently used Exchange Management Shell cmdlets and syntax in Microsoft Exchange Server 2010.

Download Exchange Management Shell Quick Reference for Exchange 2010

File Name: ExQuickRef.exe
Version: Aug2010
Date Published: 8/24/2010
Language: English
Download Size: 56 KB

или онлайн версию можно посмотреть тут

Tags:

Exchange Server 2010 Hosting and GUI

by Arman Obosyan 23. August 2010 07:22

Наверно вы уже слышали что в Exchange 2010 в режиме хостинга (режим Hosting доступен только в Service Pack 1) отсутствует консоль управления, все настройки и управление делаются из Exchange Management Shell

После установке в меню Start у нас только Help и Exchange Management Shell, если попробывать и добавить в консоль управления MMC, оснастку Exchange Management Console и запустить ее, мы получим вот такое сообщение;

The Exchange Management Console is not supported in a Datacenter environment. If you want to use it, please mailto:exppm@microsoft.com e-mail your feedback to us.

The Exchange Management Console is not supported in a Datacenter environment

Если вы привыкли все делать с EMC, то не расстраивайтесь!, вы сможете воспользоваться PowerGUI!

О том как научить PowerGUI работать с Exchange 2010 смотрим тут PowerGUI and Exchange Server 2010

Стандартную настройку и управления вы с лёгкостью сможете проделать с PowerGUI в остальном все специфичное по хостингу придется делать с EMS.

PowerGUI and Exchange Server 2010


Будем надеется что в скором времени нас порадуют обновлённым Power Pack для PowerGUI, также по слухам будет доступны и другие средства управления Exchange 2010 hosted правда пока не ясно от кого и когда.

А пока погружаемся в EMS и при необходимости пользуемся PowerGUI

 

Exchange Server 2010 Global Address List and User Photos

by Arman Obosyan 21. March 2010 19:58

Вы наверно уже не раз встречали статьи на тему фотографий пользователей в глобальной адресной книге, если вы ещё не знакомы с этим, то можете ознакомится на msexchangeteam.com(GAL Photos in Exchange 2010 and Outlook 2010) и тут на русском Фото пользователей в GAL Exchange 2010 и Outlook 2010

Недавно я встретил более простой метод работы с фотографиями, скрипт Anderson Patricio который позволяет легко загрузить фотографии как одному пользователю так и сразу нескольким одновременно!

Скрипт доступен тут и тут UploadPhoto.ps1

Содержимое скрипта выглядит следующим образом,

# Script created by Anderson Patricio (http://msmvps.org/blogs/AndersonPatricio)
#
#
Syntax:
#
uploadphoto.ps1 <mailbox-name>
#
uploadphoto.ps1 -all (It will load all jpg files from the default folder and upload to the users in AD
#

param([Switch]$all, [String]$UserName)

#Default Values. Change them based on your environment.
$DefaultPhotoPath = 'C:\Photos'

Function CheckPhoto(){
Write-Warning "Validating file(s).."
Write-Host "File exists... " -nonewline
If (Test-Path $PhotoPath)
{
Write-Host "[OK]" -ForeGroundColor Green
Write-host "Photo size... " -nonewline
$PhotoSize = Get-ChildItem $PhotoPath | select Length
If ($PhotoSize.Length -le 10000) { Write-Host "[OK]" -ForeGroundColor Green }
Else { Write-Host "[Fail]" -ForeGroundColor Red; exit }
}
Else
{
Write-Host "[Fail]" -ForeGroundColor Red
Exit
}
}
Function UploadAll(){
ForEach ($TempFile in Get-ChildItem $DefaultPhotoPath | Where-Object { $_.Extension -eq ".jpg" } )
{
$TempUserName = $TempFile.Name.substring(0, $TempFile.Name.Length - 4)
Write-Host $TempUserName -ForeGroundColor Yellow -NoNewLine
Import-RecipientDataProperty -Identity $TempUserName -PictureFileData
([Byte[]]$(Get-Content -path $TempFile.Fullname -Encoding Byte -ReadCount 0))
Write-Host "[Done]" -ForeGroundColor Green
}
}

If ( $all -eq $true)
{
Write-Warning " ## This action will upload all pictures of C:\Photos to the AD users."
Write-Warning " ## All pictures must have the same name of the usernames"
Write-Warning "Are you sure that you want upload all pictures to the users (Y/N)?"
$Opt = Read-Host
If ( $Opt -eq 'y' ) { UploadAll; } Else { Write-Host "No changes were made."; Exit }
}
Else
{
$PhotoPath = $DefaultPhotoPaty + $UserName + '.jpg'
CheckPhoto;
If ( $AbortMission -eq '$true' ) { Write-Error "Please, review the errors and try again." }
Else { Import-RecipientDataProperty -Identity $UserName -PictureFileData 
([Byte[]]$(Get-Content -path $PhotoPath -Encoding Byte -ReadCount 0)) } 
}
#--------

(*лучше не копировать, скрипт брать тут или тут UploadPhoto.ps1)

Где $DefaultPhotoPath = 'C:\Photos' путь наших фотографии

Работа скрипта простая

uploadphoto.ps1 “маилбокс” (загрузка фотографий конкретному пользователю)
uploadphoto.ps1 all (загрузка фотографий всем пользователям, названия фотографий должны соответствовать с пользователеми)

Рекомендуемые параметры фотографий 96×96 пиксель и максимальный размер 10Kb

Пример работы, загрузка нескольким пользователям фотографий

Легко и просто!

Результат смотрим в Outlook 2010

 

Несмотря на то что нет встроенных "простых" средств (я про EMC и EMS в стиле Set-Mailbox -Picture) на установку фотографий, но вот на удаление есть готовый командлед Set-Mailbox “маилбокс”–RemovePicture

Вот пока на этом все

Exchange Server 2010 and getting Mailbox DB Size

by Arman Obosyan 9. March 2010 19:21

Недавно в User Group Microsoft Exchange Server – Russia пробежал вопрос “как узнать размер базы Exchange 2007 из PowerShell”. Ответ конечно сразу же был отписан...

…но вот интересная заметка, как все просто в Exchange Server 2010 (см. ниже)

Вот пример как посмотреть размер базы из PowerShell на Exchange Server 2007 (взято у Амит-а)

 

Get-MailboxDatabase | Select Server, StorageGroupName, Name, @{Name="Size (GB)";Expression={$objitem = (Get-MailboxDatabase $_.Identity); $path = "`\`\" + $objitem.server + "`\" + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + "$"+ $objItem.EdbFilePath.PathName.Remove(0,2); $size = ((Get-ChildItem $path).length)/1048576KB; [math]::round($size, 2)}}, @{Name="Size (MB)";Expression={$objitem = (Get-MailboxDatabase $_.Identity); $path = "`\`\" + $objitem.server + "`\" + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + "$"+ $objItem.EdbFilePath.PathName.Remove(0,2); $size = ((Get-ChildItem $path).length)/1024KB; [math]::round($size, 2)}}, @{Name="No. Of Mbx";expression={(Get-Mailbox -Database $_.Identity | Measure-Object).Count}} | Format-table -AutoSize

 

А вот все тоже самое только с Exchange Server 2010


Get-MailboxDatabase -status | fl name, databasesize

 

Не правда ли удобно?  И не так страшно как в 2007 :)

Результат:

Get-MailboxDatabase -status | fl name, databasesize

 

…как “все” просто в Exchange Server 2010 :-)

 

PowerGUI and Exchange Server 2010

by Arman Obosyan 2. March 2010 08:07

Используем PowerGUI для администрирования Exchange Server 2010

Наверно все знакомы с популярным PowerGUI инструментом который обеспечивает нам графический пользовательский интерфейс для управления разными продуктами, которые понимают Powershell, как пример Exchange Server 2007.

После установки PowerGUI можно сразу использовать его для управления Exchange Server 2007.
Возможне не все знают что для управления Excahnge Server 2010 нужно отдельно скачать и импортировать Exchange 2010 PowerPack 2010, PowerPack это дополнения (расширения) для PowerGUI консоли администратора.

PowerGUI and Excahnge Server 2010

PowerGUI and Excahnge Server 2010

 

Все что нужно это скачать и установить PowerGUI и PowerPack

 

Скачать PowerGUI
Exchange 2010 PowerPack берем тут

 

Exchange Server 2010, Server is Running Fine?

by Arman Obosyan 18. January 2010 22:30

Как часто к вам обращается служба технической поддержки (в худшем случае пользователь) со словами “с почтой все в порядке?”

Я всегда на такого рода вопросы отвечаю “разумеется что все в порядке!” (иначе если почта была б остановлена я б точно об этом знал!). Конечно вопрос слишком не определен, но все же, нет дыма без огня, есть несколько команд которые вам помогут быстренько продиагностировать работу почты, в Exchange Server 2010 нам доступны следующие командлет для тестирования:

test-MapiConnectivity Проверка функциональности путем подключения к указанным почтовым ящикам. Если почтовые ящики не указаны, командлет выполняет вход в почтовый ящик SystemMailbox.

test-OutlookConnectivity  Комплексная проверка подключения клиента Microsoft Outlook, процесс включает в себя проверку подключения Outlook Anywhere RPC/HTTP и подключения на базе TCP.

test-OutlookWebServices Проверка параметров службы AutoDiscover.

test-OwaConnectivity Проверка работоспособности Outlook Web App.

test-WebServicesConnectivity Выполненяет базовые операции проверки функциональности веб-служб Exchange.

test-ecpConnectivity Проверка работоспособности Панель Управления Exchange (ECP, Exchange Control Panel).

test-activeSyncConnectivity Выполнение полной синхронизации почтового ящика для проверки конфигурации Microsoft Exchange ActiveSync.

test-ImapConnectivity Проверка работоспособности IMAP4.

test-popConnectivity Проверка правильности работы службы POP3.

test-UMConnectivity Проверка службы Exchange Unified Messaging (UM).

test-powerShellConnectivity Проверка работы службы удаленного подключений PowerShell.

test-edgeSynchronization Диагностика текущего состояния синхронизации Exchange Edge роли.

test-exchangeSearch Проверяет доступность подсистемы поиска Exchange и своевременно ли она индексирует новые сообщения электронной почты.

test-IrMConfiguration Тестирования настроек и функциональных возможностей службы управ��ения правами доступа к данным, Information Rights Management (IRM).

test-Mailflow Проверка возможности успешной отправки почты из системного почтового ящика и доставки почты в этот-же ящик.

test-ServiceHealth Проверка статуса запуска всех необходимых служб Microsoft Windows которые должны запускаться на сервере Exchange.

test-SystemHealth Используется для сбора данных о Microsoft Exchange, анализ данных согласно рекомендациям.

test-MrShealth Проверка работоспособности службы репликации почтовых ящиков Microsoft Exchange.

test-replicationhealth Репликация и состояния почтовых ящиков в группе доступности базы данных (DAG). Профилактический мониторинг непрерывной репликации и конвейера непрерывной репликации, статус доступности диспетчера Active Manager, проверка состояния внутренних служб кластеров, кворума и сетевых компонентов.

test-SenderId Проверка IP-адреса отправителя для данного SMTP-адреса (Sender ID).

test-IpallowListprovider Проверка белого списка IP-адресов на транспортном (HUB) или пограничном (Edge) сервере.

test-IpBlockListprovider Проверка черного списка IP-адресов на транспортном (HUB) или пограничном (Edge) сервере.

test-Federationtrust Проверяет правильность настройки и работы Federation.

test-FederationtrustCertificate Проверять состояние сертификатов используемых для службы федерации.

 

Многие из команд требуют указания пользователя для тестирования, чтоб каждый раз не указывать пользователя создайте тестового пользователя к которому будет обращается командлет, по умолчанию такой пользователь выглядит таким вот образом 'extest_10a2e2fb658e4' в каждой организации он свой, так что предварительно создайте его, просто запустите командлет и он вам сообщит какого пользователя вам нужно создать:

После создания пользователя вам уже не придётся на большинстве командлетов указывать пользователя, он будет использоваться по умолчанию, напомню что в каждой организации такой пользователь свой в моем примере он был extest_ef697aff7d8b4.

 

Пример проверки подключения клиента Microsoft Outlook

test-OutlookConnectivity

Подробная информация как всегда доступна параметром fl, обратите внимание на пользователя

test-OutlookConnectivity

 

Пример проверки подключения по веб, Outlook Web App

test-OWAConnectivity

 

Таким вот образом проверить сначала подключение к примеру командами test-OwaConnectivity, test-OutlookConnectivity (которые можно сказать “повторяют действия пользователей, вход в систему”) в случае неудачного подключения можно переходить к другим командам (все зависит от конкретного случая конечно), например проверка отправки сообщений test-Mailflow или все ли сервисы запушены на сервере test-ServiceHealth и так далее, некоторые из команд можно запускать непосредственно от себя не логонившись на сервер, как подключатся к серверу без установленных средств администрирования Exchange можно прочитать тут.

Совет для людей из службы технической поддержки, (…сменив несколько работ я замечаю что ситуация везде одна и та-же) Первый и наверно самый простой проверенный метод диагностики работы почты: отправьте письмо на внешний адрес с подтверждением на доставку, дальше результат даст о себе знать, если Exchange вам сообщил что письмо отправлено и покинуло вашу организацию уже понятно что доставка почты внутри работает (вы то получили письмо о статсе отправки) проверив внешнею почту увидев сообщение также понятно что почта внешним пользователям доставляется, отправив обратно это письмо (ответив на него) вы проверите доставку почты в вашу организацию. Вот таким вот образом очень быстро можно провести диагностику не обращаясь к администраторам (только потому что “некто” звонит и говорит что почта не работает), экономьте ваше время и их (Администраторов :-))! Если нужно больше тогда пусть администраторы делегируют вам права на средства диагностики!.

Совет Администраторам, не забывайте обращать внимание на значение latency там где оно присутствует, если вы будите знать среднее значение к примеру в рабочие часы, то всегда можно будет определить отклонение от нормы.

Конечно хорошо когда есть Microsoft Operation Manager который всегда и вовремя даст знать о проблеме, но иногда полезней сразу запустить одну команду чем смотреть все логи на Operation Manager или разгребать кучу ивентов в почте (или SMS на мобиле) которые нам любезно присылает Operation Manager, про стартап Operation Manager 2007 и Exchange Management Pack можно посмотреть тут так-же можно настроить и Exchange Server 2010 на мониторинг средствами Operation Manager.

Вот пожалуй на этом пока все,

 

Arman Obosyan
http://postmaster.ge/blog

 

 

OWA Mailbox Policy

by Arman Obosyan 13. January 2010 15:56

…постом ниже я рассказывал как настраивать функционал IM в OWA, после настройки стоит заметить что возможность IM в OWA будет у всех пользователей, возможно вам не захочется чтоб такого рада функционал был у всех. В Exchange Server 2010 появились так называемые OWA Mailbox Policy используя которые к примеру разным пользователей можно назначить разные политики в которых прописаны параметры, тот-же функционал IM контролируется через политики OWA Mailbox Policy.
По умолчанию есть политика под названием Default в которой все разрешено, мы создадим новую и запретим использовать IM, дальше назначим ее пользователю

Создание

new-OWAMailboxPolicy OWA-Pol01

OWAMailboxPolicy01

Обратите внимание что по умолчанию в новой политике IM также включен

OWAMailboxPolicy02

Отключаем в новой политике средства IM

set-OwaMailboxPolicy OWA-Pol01 -InstantMessagingEnabled:$false

Прописываем нашу новую политику пользователю

set-CASMailbox Arman –OWAMailboxPolicy OWA-Pol01

проверяем get-OWAMailboxPolicy | fl Name, InstantMessagingEnabled

get-CASMailbox Arman | fl Name, OWAMailboxPolicy

OWAMailboxPolicy03

Все теперь у пользователя больше не будет IM в OWA

OWA Mailbox Policy может куда больше чем отключение IM ! Вот некоторые опции доступные для конфигурирования:

OWALightEnabled, DelegateAccessEnabled, IRMEnabled, CalendarEnabled, ContactsEnabled, TasksEnabled, JournalEnabled, NotesEnabled, RemindersAndNotificationsEnabled, PremiumClientEnabled, SpellCheckerEnabled, SearchFoldersEnabled, SignaturesEnabled, ThemeSelectionEnabled, JunkEmailEnabled, UMIntegrationEnabled, ChangePasswordEnabled, UNCAccessOnPublicComputersEnabled, UNCAccessOnPrivateComputersEnabled, ActiveSyncIntegrationEnabled, AllAddressListsEnabled, RulesEnabled, PublicFoldersEnabled, SMimeEnabled, RecoverDeletedItemsEnabled, InstantMessagingEnabled, TextMessagingEnabled

Можно запретить таски, контакты или доступ до Global Address List! и многое другое! Фантазируйте кому что понадобится!

Вот, пока на этом все.

 

Подробно тут Set-OwaMailboxPolicy

Также смотрим и другие

Get-OwaMailboxPolicy
New-OwaMailboxPolicy
Remove-OwaMailboxPolicy
Set-OwaMailboxPolicy

Getting Exchange Server Update Rollups

by Arman Obosyan 7. December 2009 23:31

…и снова определяем установленные Update Rollup на наших (или чужих) серверах. Я уже как то раз затрагивал эту тему, но недавно наткнулся на ещё один интересный скрипт по определению установленных Update Rollup на Exchange Server-ах

Так выглядит output отработанного скрипта,

get-UpdateRollup

get-UpdateRollup

 

Немного модифицированная версия скрипта (спасибо ребятам из PowerShell_Ru v2.0 и Microsoft Exchange Server – Russia за советы)

 

$exservers= Get-ExchangeServer | ? {$_.ServerRole -notlike"edge"}
foreach ($exin$exservers)
{
$version= (get-exchangeserver -identity $ex).admindisplayversion
$edition= (get-exchangeserver-identity$ex).edition
write-host""
write-host
"-----------------------------------------------------"
write-host
""
write-host
"Exchange Server: $ex"
write-host
$version
write-host
"Edition: $edition"
write-host"Installed Update Rollups:"
$baseKey= [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(’LocalMachine’, $ex)
$regKey="SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\461C2B4266EDEF444B864AD6D9E5B613\Patches\"
$baseKey=$baseKey.OpenSubKey($regKey)
$Updates=$baseKey.GetSubKeyNames()
$array=New-Object-comObjectSystem.Collections.ArrayList
ForEach($Updatein$Updates)
{
$fullPath=$regKey+$Update
$UpdateKey= [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(’LocalMachine’, $ex)
$UpdateKey=$UpdateKey.OpenSubKey($fullPath)
$values=$UpdateKey.GetValueNames()
ForEach($valuein$values)
{
if ($value-eq"DisplayName")
{[
void]$array.Add($UpdateKey.GetValue($value))}
}
}
$array | sort-desc
write-host""
write-host
"-----------------------------------------------------"
write-host
""
}

 

сам скрипт тут

Get-E12UpdateRollup.ps1

 

Updated, Для Exchange Server 2010 ключ

$regKey="SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\AE1D439464EB1B8488741FFA028E291C\Patches\"

исправленый скрипт тут Get-E14UpdateRollup.ps1


get-UpdateRollup

 

See also Exchange Server Update Rollup Version and Build Numbers Table (updates regular)

 

Exchange Management Shell Quick Reference for Exchange 2010

by Arman Obosyan 9. November 2009 23:57

Exchange Management Shell Quick Reference for Exchange 2010

Exchange Management Shell Quick Reference for Exchange 2010
This download contains a quick reference sheet that can be used to access frequently used Exchange Management Shell cmdlets and syntax in Microsoft Exchange Server 2010.

Download Exchange Management Shell Quick Reference for Exchange 2010

File Name: ExQuickRef.exe
Version: Nov2009
Date Published: 11/4/2009
Language: English
Download Size: 55 KB

или онлайн версию можно посмотреть тут

Exchange Server and Outlook Cached Exchange Mode

by Arman Obosyan 18. October 2009 23:11

…всегда найдутся пользователи которые готовы поумничать. Как один из примеров, когда некоторые из таких пользователей так и норовят отключить кэшированы режим работы в Outlook, а если таких пользователей не мало?! Non Cached Mode пользователи могут генерировать значительный объем дисковой активности (I/O) и тем самым снижать производительность сервера. Принуждение всех клиентов на использование кэшированного режима может улучшить производительность нашего сервера.

Outlook Cached Exchange Mode

Можно запретить работу в Online режиме, для этого используем команду Set-CASMailBox

Пример:
Блокирование Online Mode конкретно одному пользователю
set-CasMailbox arman -MAPIBlockOutlookNonCachedMode $true

Или всем пользователям сразу
get-Mailbox | Set-CasMailbox -MAPIBlockOutlookNonCachedMode $true
или
get-CASMailbox | Set-CasMailBox –MAPIBlockOutlookNonCachedMode $true

Проверка
get-CasMailbox arman | fl

MAPIBlockOutlookNonCachedMode

 

Данный метод работает как с Exchange Server 2007 так и на Exchange Server 2010

Подробно о команде можно посмотреть тут:
Set-CasMailBox Applies to: Exchange Server 2007
Или тут
Set-CasMailBox Applies to: Exchange Server 2010

 

Exchange Server 2010 RC Administering from Vista 32bit

by Arman Obosyan 24. August 2009 09:05

Администрирование Exchange Server 2010 RC с 32бит Windows VistaExchange Server 2010

Как уже всем известно 32 бит Exchange Server 2010 нет и не будет, следовательно и администрирование с Exchange Management Console с 32 бит систем становится невозможным, но мы можем всегда воспользоваться PowerShell для администрирования Exchange Server 2010

Для этого нам понадобится
Windows Management Framework Core, Windows6.0-KB968930-x86.msu
Title: Windows Management Framework Core (PowerShell and WinRM) for Vista and Server 2008 - x86
File Name: Windows6.0-KB968930-x86.msu
Version: 968930
Knowledge Base (KB) Articles: KB968930 
Date Published: 10/26/2009
Language: English
Download Size: 32.4 MB

Запускаем наш всеми любимый PowerShell   More...

© 2008-2012, Arman Obosyan, Postmaster.GE
Powered by BlogEngine.NET 2.6.0.18
Hosted on Windows Azure and IIS8

About the author

Arman Obosyan is an experienced IT Pro. with over 17+ years work experience in Information Technologies sector.

Certified since 2003 year, passed following certifications MCP, MCSA, MCSE, MCTS, MCITP, Exin ITIL and VMware Certified Professional (VCP)

In 2010 Was awarded a Microsoft Most Valuable Professional (MVP)

--------

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent anyone else's view in any way, including those of my employer.



Live Trafic

 

Calendar

<<  June 2017  >>
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

View posts in large calendar

TextBox