Заметки IT Менеджера

01.10.2013

Экспорт номеров телефонов и структуры организации в Phone Xpress

Когда-то я уже писал о программе Phone Xpress и описывал то, каким образом ее можно применять для оптимизации расходов на связь, контроля и т.д.

Все это время мне не хватало возможности автоматически, регулярно и оперативно обновлять данные о пользователях телефонов и их номерах. Не смотря на наличие в Phone Xpress импорта и экспорта структуры организации, мне это было делать неудобно, т.к. в моем случае людей много, регулярно меняются сами люди и номера, которыми они пользуются. Конечно же, этим должны били заниматься секретари, но они то забыли, то еще что-то. Еще много лет назад я написал скрипт, который брал из файла, который выгружался из интранет сайта, данные и обновлял их в AD. В результате у каждого аккаунта были прописаны должность, отдел, телефоны, адреса и т.д. В общем-то, оставалось только написать скрипт, который бы мог брать данные из AD и на их основе генерировать файл, который, в свою очередь, можно будет проимпортировать в Phone Xpress.

Я умышленно пользовался внешними компонентами от Quest для работы с AD, т.к. в этом случае все будет работать и в 2003 домене. В скрипте есть ряд фрагментов, которые, в зависимости от вашей ситуации, нужно будет модифицировать.

(more…)

Реклама

12.09.2013

Находим отредактированные в Outlook вложения

outlook2013Написал скрипт, решающий регулярно возникающую проблему у пользователей, которая выглядит следующим образом: пришел какой-то документ в письме, он там был открыт, отредактирован, сохранен и закрыт. Где теперь его искать, т.к. функция “Сохранить как…” была забыта?

Как оказалось, есть достаточно простой способ его найти:

Attachments remain in the Outlook Secure Temporary File folder when you exit Outlook 2010, Outlook 2007, or Outlook 2003

Ну а остальное, так сказать, дело техники :-)

Если у кого-то будет ошибка по поводу Out-Grid, просто уберите эту команду и получите просто список, у остальных можно будет удобно выбрать нужные файлы и они будут открыты

#Находит и открывает файлы, которые были отредактированы в Outlook
#Автор (itpadla.wordpress.com)
#Дата создания 10.09.2013
#Дата изменения: 12.09.2013
#Описание: Находит и открывает файлы, которые были отредактированы в Outlook
#####################################################################################
 
$VerPathArr = (Get-ChildItem HKCU:\Software\Microsoft\Office\) -match '(\d\d)\.'
If (Test-Path -Path ("HKCU:\Software\Microsoft\Office\"+(($VerPathArr[-1].name).Split('\')[-1])+"\Outlook\Security"))
 {
 $RegPath = ("HKCU:\Software\Microsoft\Office\"+(($VerPathArr[-1].name).Split('\')[-1])+"\Outlook\Security")
 }
 Else
  {
  $RegPath = ("HKCU:\Software\Microsoft\Office\"+(($VerPathArr[-2].name).Split('\')[-1])+"\Outlook\Security")
  }
Get-ChildItem (Get-ItemProperty $RegPath | Select-Object -expand  OutlookSecureTempFolder) | Sort-Object lastwritetime -Descending | Out-GridView -PassThru | Invoke-Item

28.08.2013

Настройка выбора помещений и времени в Exchange 2013/2010

exchange_2013Как оказалось, настройка в помощнике по планированию Outlook подсказки по выбору помещений и времени далеко не так тривиальна как мне казалось.

Настраивал в тестовой среде Exchange 2013 с клиентами в виде Outlook 2007 и Outlook 2013. К моему удивлению, в Outlook 2007 подсказки по варианту выбора времени работали, ну а подсказок по выбору помещений там и нет. Ну а в Outlook 2013 оба эти списка были пустыми и даже светилась надпись “Предоставление вариантов невозможно, поскольку не удается получить данные о доступности”. Но, что самое интересное, данные о доступности людей были доступны и видны в календаре! Более того, из скриншотов в интернет было видно, что должно быть еще одно выпадающее меню со списком помещений.

Итак, чтобы настроить списки помещений и т.д. нужно:

Создать ресурсы помещений, а затем создать специальную группу или набор таких групп, которые бы содержали такие помещения, например

New-DistributionGroup -Name «TST Meeting Rooms Group» -PrimarySMTPAddress roomgroup1@tst.ua -RoomList
Add-DistributionGroupMember -Identity «TST Meeting Rooms Group» -Member «Conference Room 1»
Add-DistributionGroupMember -Identity «TST Meeting Rooms Group» -Member «Conference Room 2»

(more…)

15.05.2013

Отчет по Exchange окружению с помощью Powershell теперь и по Exchange 2013

Отчет по Exchange окружению с помощью Powershell теперь и по Exchange 2013 / Блог компании NetWrix / Хабрахабр.

18.03.2013

Контроль доступа к другому почтовому ящику в Exchange

exchangeВ крупных компаниях очень важен контроль за применением “критичных” прав. Одним из наиболее важных в Exchange является доступ к другому почтовому ящику. При этом, это право может давать и Администратор пользователей Exchange. А эта роль может быть делегирована.

В этом скрипте я ограничил выборку пользовательскими почтовыми ящиками, убрав оттуда ресурсные и общие ящики, кроме того, сделал так, чтобы этот отчет присылался по почте.

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

Ну и этот отчет, на еженедельной, а может и на ежедневной основе поможет контролировать ситуацию

 

#Автор оригинального скрипта: www.exchangefaq.ru/kak-poluchit-spisok-polzovatelej-imeyushhix-dostup-k-chuzhomu-pochtovomu-yashhiku.html + комментарии
#Автор изменений: itpadla.wordpress.com
#Дата создания: 28.08.2012
#Дата изменения: 18.03.2013
#Описание: получить список пользователей, имеющих доступ к чужому почтовому ящику

If ($host.Version.Major -lt 3) {$ExchangePss = Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.Admin -ErrorAction SilentlyContinue}
Else {$ExchangePss = Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.Admin -ErrorAction Ignore}
If ($ExchangePss.Name -ne "Microsoft.Exchange.Management.PowerShell.Admin") {Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin}

(more…)

12.03.2013

Оперативный контроль аккаунтов пользователей и компьютеров в Active Directory

Обновлено 20.03.2013. Внесен ряд исправлений
В скриптах, связанных с удалением компьютерных учетных записей не выводилось имя компьютера
Кроме того, как оказалось, при массовых операциях, например вводах в группу или удалении из группы, приходит только одно уведомление, что само по себе не очень правильно. В связи с этим скрипты несколько переделаны — вместо последнего, отбираются все такие события за последние 120 секунд

Недавно я публиковал заметку Автоматическое уведомление о заблокированных аккаунтах. Там было вполне рабочее решение, но у него был один недостаток – информация приходила в несколько “корявом” виде. В песочнице хабры я нашел нашел статью, в которой аналогичные вещи сделаны гораздо удобнее.

На ее основании я сделал  десяток скриптов, которые будут информировать вас о:

— блокировании и разблокировании (lock/unlock) учетных записей пользователей
— добавлении или удалении кого-либо в/из группы
— включение или выключение (enable/disable) пользовательского аккаунта

— добавление или удаление компьютера в/из домена
— добавление или удаление пользователя в/из домена

Все нижеприведенные скрипты сохраняются в файлы, по одному в каждый из файлов, файлы кладутся на контроллер домена, там же запускается Task Scheduler и в нем создается задача с триггером на соответствующий EventID в Security Log, например 4740, и действием, содержащим запуск C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe с параметром в виде пути к скрипту и его именем, например, C:\cmd\event-notification-4740-account_lockout.ps1

В результате, вы оперативно получаете информацию по важным изменениям в AD и можете на нее оперативно реагировать

(more…)

05.03.2013

Решение проблем с истекающими паролями у пользователей

Одной из регулярных проблем, которая возникает у пользователей – истекший пароль. Пользователи не видят предупреждений от Windows, забывают о них, а иногда, просто о них не знают, т.к. работают удаленно со своих компьютеров, используя личные компьютеры или другие ОС.

Чтобы максимально минимизировать эту проблему нужно сделать две вещи:

  1. Добавить еще один способ уведомления пользователя, по электронной почте. Причем само уведомление должно включать в себя инструкции по смене пароля
  2. Давать отчет администраторам о пользователях у которых пароль уже истек или истечет в ближайшее время. Зачастую это помогает понять источник проблем у пользователя или предотвратить их.

 

Итак, скрипт, который рассылает уведомления пользователям

(more…)

25.02.2013

Отчет по базам данных Exchange 2007/2010

powershell_21

Публикую полезный скриптик, который по всем базам данных Exchange собирает нужную статистику и отправляет отчет по электронной почте.

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

Кроме этого, в отчеты цветом выделяются значения размера базы, количества ящиков в ней, размера ящика и времени последнего бэкапа, если они превышают пороговые значения, которые указаны в скрипте.

Для Exchange 2010 может выводиться значения пустого места в базе.

Оригинальный скрипт был написан исключительно под Exchange 2010 и у меня не работал, так что пришлось его модифицировать. Кроме того, в оригинале, зачем-то, для генерации письма использовался файл, в который все и писалось, а в “финале” он включался в сообщение как его содержимое. Это было некрасиво, кроме того, делало сложным запуск этого скрипта как задачи на сервере.

Конечным результатом является отчет вида, представленного ниже

(more…)

14.02.2013

Автоматическое уведомление о заблокированных аккаунтах

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

Сам скрипт кладется на домен контроллер, там же запускается Task Scheduler и в нес создается задача с триггером на EventID: 4740 в Security Log и действием, содержащим запуск C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe с параметром в виде пути к скрипту и его именем, например, C:\cmd\account-lockout-notification.ps1

 
 
 

#Отсылка сообщений о блокировании аккаунтов
$Event=Get-EventLog -LogName Security -InstanceId 4740 -Newest 1 -ErrorAction SilentlyContinue
$MailBody= $Event.message

$MailSubject= "User Account locked out"
$SmtpClient = New-Object system.net.mail.smtpClient
$SmtpClient.host = "smtp.domain.com"
$MailMessage = New-Object system.net.mail.mailmessage
$MailMessage.from = "AcctLockNotify@domain.com"
$MailMessage.To.add("it@domain.com")
$MailMessage.IsBodyHtml = 1
$MailMessage.Subject = $MailSubject
$MailMessage.Body = $MailBody
$SmtpClient.Send($MailMessage)

17.12.2012

Не устанавливайте Windows Management Framework 3.0 на сервера с Exchange 2007/2010

Уже некоторое время назад вышел Windows Management Framework 3.0, включающий в себя PowerShell 3.0. На днях он появился во WSUS и тут оказалось, что если установить его на сервера с Exchange 2007/2010 то вы получите проблемы, т.к. они не совсем совместимы. С большой долей вероятности будут проблемы с Exchange Management Shell и установкой роллапов!

Мне в данном случае “повезло”, т.к. у меня Exchange 2007 установлен на Windows Server 2003 R2 и для него нету WMF 3.0. Кстати, потенциально, проблемы могут быть и на любой рабочей станции, на которой установлены Exchange Management Tools. Правда, у меня, вроде бы, все работает, хотя я установил себе WMF достаточно давно.

Следующая страница →

Блог на WordPress.com.

%d такие блоггеры, как: