Выгрузка фотографий пользователей из Exchange

Захотелось дяденькам странного: решили выгрузить фотографии пользователей из Exchange.

А мне захотелось попавершелить. И вот встретились два одиночества.

Код простой и примитивный, основная фишка — работает из обычного PowerShell, находя точку подключения к Exchange и, собственно, подключаясь к нему.

Сохраните код в ЛюбоеИмя.ps1 и запустите его с любой доменной машины с правами, имеющими доступ к ящикам. Магическим образом создастся папочка User Photo на рабочем столе текущего пользователя и туда вывалятся все фоточки с именами в виде samAccountname.jpg Вот и вся история :)

$Foldername = "User Photo"
$FolderPath = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::Desktop) + "\$FolderName"
$FileType = ".jpg"
$Obj = @()
$ADDomain = Get-ADDomain | Select DistinguishedName
$DSSearch = New-Object System.DirectoryServices.DirectorySearcher
$DSSearch.Filter = '(&(objectClass=serviceConnectionPoint)(|(keywords=67661d7F-8FC4-4fa7-BFAC-E1D7794C1F68)(keywords=77378F46-2C66-4aa9-A6A6-3E7A48B19596)))'
$DSSearch.SearchRoot = 'LDAP://CN=Configuration,'+$ADDomain.DistinguishedName
$DSSearch.FindAll() | ForEach {

$ADSI = [ADSI]$_.Path
$Autodiscover = New-Object psobject -Property @{
AutoDiscoverInternalURI = [string]$ADSI.ServiceBindingInformation
}
$Obj += $Autodiscover

}

$AutoDiscoverInternalUri = $Obj[0] | Select AutoDiscoverInternalURI | select -ExpandProperty AutodiscoverInternalUri

$ConnectionURL = $AutoDiscoverInternalUri -Replace "Autodiscover/Autodiscover.xml", "PowerShell"

$ConnectionURL = $ConnectionURL -Replace "https", "http"

$PSSession = New-PSSession -ConfigurationName "Microsoft.Exchange" -ConnectionUri $ConnectionURL -Authentication "Kerberos"

Import-PSSession -Session $PSSession

New-Item -Path $FolderPath -ItemType Directory
Set-Location $FolderPath
$Mailboxes = Get-Mailbox -ResultSize Unlimited | Where {$_.HasPicture -eq $True}
$Mailboxes |
ForEach {
$FileName = $_.samAccountName + $FileType
Get-UserPhoto $_.SamAccountName | Select-Object -ExpandProperty PictureData | Set-Content -Path ".\$FileName" -Encoding Byte
}

Да, слышал, что таких скриптов, как говна за баней. Но говорю же — хотелось попавершелить чутка.

Реклама
Выгрузка фотографий пользователей из Exchange

Как посмотреть внутрь PropertySet

Этот постец будет самой настоящей заметкой на полях. Научили меня тут методу одному забавному, надо а) записать, чтобы не забыть, б) поделиться, в) набрать лайков, репостов, ретвитов, плюсиков в карму, в общем, похайпожорить 😊

Речь пойдет про т.н. PropertySet в разрезе Control Access Rights. Все exchange-воды так или иначе сталкивались с назначением мифических ExtendedRights. Самое популярное – SendAs. Хранятся они в разделе конфигурации (CN=Extended-Rights,CN=Configuration,DC=domain,DC=com), и кроме SendAs, ReceiveAs их там порядочно…

И вот самыми интересными из присутствующих сегодня являются т.н. PropertySets. Это по сути набор аттрибутов, на которые даются права одним взмахом сабли. Т.е. не надо навешивать права на чтение\запись каждого аттрибута, а сразу дать прав на чтение\редактирование целого набора близких по духу аттрибутов и спокойно заниматься дальше своими делами. Для примера мы возьмем Personal-Information Property Set. В общем и целом это набор аттрибутов, относящихся к персональной информации пользователя. Адрес, телефон, пейджер и прочее. Но как посмотреть, что именно входит в этот набор? Можно пойти в Google и глянуть на MSDN. А ну как этот набор был, например, изменен в далекие-далекие времена и вы об этом даже не подозреваете?

Читать далее «Как посмотреть внутрь PropertySet»

Как посмотреть внутрь PropertySet

Гибрид, SMTP, безопасность и Best Practices.

За три месяца ваш покорный слуга превратился из chaotic hater в самого настоящего поклонника облачных решений от Microsoft. Не будем его сильно за это бить, оставим, так сказать, на его совести и спишем на впечатлительность неокрепшего разума. Бог бы с ним…

Проделывая первые робкие шаги в облачных делах под чутким руководством съевших на этом собаку наставников, натолкнулся на очень забавное веяние… Почти все статьи, доклады, презентации, не говоря уже об официальной документации вендора, идут по пути наименьшего сопротивления. Т.е. везде и всюду нам предлагают самые наипростейшие сценарии по известному в народе методу NNF (Next-Next-Finish).

Читать далее «Гибрид, SMTP, безопасность и Best Practices.»

Гибрид, SMTP, безопасность и Best Practices.

Перенос папки Logging в Exchange Server 2013\2016 или как впихнуть весь ваш Exchange на один диск.

Бытует мнение, что размер имеет значение, что несомненно верно в некоторых специфичных ситуациях. Но еще более несомненным является поправка, которая гласит «Главное – умение»

Речь пойдет о несчастных обладателях маленького системного диска, на который по недоразумению еще вкрячили и Exchange наш Server.

Начиная с версии 2013 размер папки Logging (C:\Program Files\Microsoft\Exchange\v15\Logging) стал доставлять дикие головные боли несчастным обладателям маленьких системных дисков. Свободное пространство выжиралось просто с космической скоростью. И не мудрено… Что же там хранится? Много чего. Основные пожиратели пространства это Diagnostic Logs (то, что пишет Health Manager из новомодного Managed Availability), файлы ETL, логи HTTP Proxy и куча-куча других веселых штук непонятного назначения.

Вопрос: зачем все это нужно? В первую очередь, конечно, для администратора, который умный-умный, может понять какой болтик ослаб, чтобы подтянуть его и любимый Exchange Server перестал конопатить мозги. Но не только…

Читать далее «Перенос папки Logging в Exchange Server 2013\2016 или как впихнуть весь ваш Exchange на один диск.»

Перенос папки Logging в Exchange Server 2013\2016 или как впихнуть весь ваш Exchange на один диск.

Проблема с подписью DKIM в переадресованных сообщениях.

Все же знают два супер-поста и одно супер-видео про DKIM\DMARC для Exchange? Дмитрий Разборный(ов) со своими «Создаем цифровую подпись DKIM в Exchange 2013» и «DMARC, DKIM и все-все-все» и Антон Ивонин со своим «Реализация DKIM для Exchange Server 2013».

Так вот нашлась интересная засада…

Связался со мной один из заказчиков, и пожаловался, что GMAIL отбивает сообщения от его сервера. Причем в отбое был очень странный текст:

Unauthenticated email from inbox.ru is not accepted due to domain’s DMARC policy. Please contact the administrator of inbox.ru domain if this was a legitimate mail.

Как вы понимаете, при всей моей «крутости» inbox.ru — не мой заказчик :) Я решил проверить при чем тут вообще inbox.ru.

Читать далее «Проблема с подписью DKIM в переадресованных сообщениях.»

Проблема с подписью DKIM в переадресованных сообщениях.

Автоматический ответ с помощью преднастроенного сообщения

Привет!

Делал эту штуку еще при царе Горохе на сервере Exchange 2007 еще. Но смотрю народ периодически продолжает спрашивать, как это сделать. Решил написать короткую инструкцию в картинках.

Итак, задача:

Есть почтовый ящик департамента HR, в который соискатели шлют свои резюме. Необходимо, чтобы при получении письма с резюме уходил автоматический ответ с помощью преднастроенного сообщения, в котором будут соблюдены какие-то стандарты форматирования и все такое. При этом одному соискателю письмо должно уходить один раз.

Как народ это пробует реализовать? По-разному: транспортные правила, автоответ (который OOF). Но есть способ куда лучше. Надо использовать клиентские правила.

Читать далее «Автоматический ответ с помощью преднастроенного сообщения»

Автоматический ответ с помощью преднастроенного сообщения

Downgrade Exchange Server edition

Здесь сегодня должен был появиться пост с картинками про то, как хитрым способом проделать downgrade редакции Exchange Server, для которого я даже нашлепал скриншотов в лабе. Но не появится. Потому что Google сказал мне, что Тони Рэдмонд уже сто лет, как писал про это. А смысл писать одно и то же два раза? Читайте Тони Рэдмонда. А я ниудачниииик! :)
http://windowsitpro.com/blog/downgrading-exchange-2010-server

UPDATE:

Т.к. скриншоты все равно заготовлены, а у Тони не описан процесс понижения редакции на серверах с ролью Edge, то я решил таки описать процесс для серверов с ролью Edge Transport.

Читать далее «Downgrade Exchange Server edition»

Downgrade Exchange Server edition