• Exchange 2010 - Ищем почтовые ящики по PrimarySmtpAddress

    В ходе автоматизированных операций массового создания почтовых ящиков может возникнуть ситуация когда Exchange изменяет значение алиаса почтового ящика добавляя в конце цифровое значение. PrimarySmtpAddress при  этом получается например V.Ivanov2@holding.com вместо желаемого V.Ivanov@holding.com. Таким образом Exchange разрешает конфликты между создаваемым ящиком и уже существующим с таким же алиасом.

    Для того чтобы отловить такие ящики можно воспользоваться нехитрым запросом

    Get-Mailbox -ResultSize Unlimited | where {($_.PrimarySmtpAddress -match ".*[0-9]@.*") -AND ($_.Database -like "KOM-AD01-*")}  | Select Name,PrimarySmtpAddress,Database

     

  • ADMX шаблон для Lync 2010 и пакостные проделки ADMX Migrator

    imageПока колупался с конвертацией ADM шаблона для Microsoft Lync 2010 в формат ADMX с помощью программы "FullArmor ADMX Migrator" нарвался на пакостные глюки ADMX Editor, которые проявляются в случае если загрузить в программу уже готовый ADMX шаблон.

    Читать далее...

  • GPP: Настраиваем ассоциацию на открытие графических типов файлов на терминальных серверах RDS

    На терминальных серверах под управлением Windows Server 2008 R2 по умолчанию отсутствует программа для просмотра графических файлов (именно для просмотра а не редактирования, типа Paint). Если используется Office 2010, то можно в качестве просмотрщика основных типов графических файлов использовать входящую в его состав программу “Диспетчер рисунков Microsoft Office”.

    Читать далее...

  • Проблема открытия старых проектов Excel VBA в Office 2007/2010

    imageПри попытке открытия файлов Excel “нашпигованных” VBS и созданных в старых версиях Excel (до Office 2007) нарвался на сообщение:

    Для открытия содержащегося в этом файле проекта VBA требуется компонент, который в настоящий момент не установлен. Файл будет открыт без проекта VBA…

    image

    И затем появляется следующее сообщение:

    Для этой книги недоступны проект VBA, элементы управления ActiveX и остальные программные средства

    image

    При этом механизмы VBS не работают должным образом и работать с файлом, как следствие, не представляется возможным. В моём случае проблема проявилась на терминальном сервере с Windows Server 2008 R2 EN с установленными 32-битными Office 2007 RU и Office 2010 RU.

    Читать далее...

  • SCCM 2007 R2 - Создание коллекции по членству компьютеров в OU

    imageОчередная задача потребовала создания коллекции компьютеров в SCCM с условием зависящим принадлежности этих компьютеров к конкретному доменному контейнеру/OU. Для начала стоит отметить то, что для того чтобы можно было делать выборки по OU в свойствах сайта SCCM должен быть включен и настроен метод обнаружения Active Directory System Group Discovery который в частности отвечает за сбор информации об OU в домене. Этот метод собирает информацию в дополнение к информации собранной методом обнаружения - Active Directory System Discovery.

    Читать далее...

  • SharePoint 2010 - Замена значений типа "Выбор" в элементах списка

    imageСитуация: На сайте SharePoint 2010 создан какой-то Список в котором создан Столбец с типом значения "Выбор". В значение этого Столбца при настройке введено несколько предопределённых позиций, например: "Значение1", "Значение2", "Значение3".

    "Значение1" определено в настройках как значение по умолчанию.

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

    Со временем возникает ситуация, когда какое-то значение нужно заменить на новое, например "Значение1" заменить в настройках Списка на "Значение-А".

    Проблема: При внесении изменений в настройки Списка, существующие элементы списка остаются неизменными.

    Читать далее...

  • PowerShell - Резервное копирование групповых политик Active Directory (GPO)

    PowerShell GPO backup scriptОперацию резервного копирования доменных объектов групповых политик (GPO) можно выполнить штатным способом с помощью консоли Group Policy Management (gpmc.msc), но если нам потребуется автоматизировать данный процесс, - можно использовать командлеты модуля GroupPolicy для PowerShell 2.0

    Читать далее...

  • Windows Server 2008 R2 - Корзина Active Directory

    Active Directory Recycle BinПриведу маленькую шпаргалку по использованию корзины AD (Active Directory Recycle Bin) в домене Windows Server 2008 R2.

    Читать далее...

  • Exchange 2010– Делегирование Send As

    imageПри необходимости делегирования прав на управление почтовыми ящиками в Exchange 2010 можно столкнуться с ситуацией, когда при создании группы ролей путём копирования из преднастроенной группы "Recipient Management" будет создана группа ролей, которая не дает права предоставления разрешения отправки от  имени (Send As). Чтобы добавить это право к созданной группе ролей нужно добавить роль "Active Directory Permissions". Для уже существующей группы ролей это можно выполнить с помощью PS команды:

    New-ManagementRoleAssignment -SecurityGroup "My Recipient Management" -Role "Active Directory Permissions"


    Если же группа ролей которая будет кастомизирована ещё не создана то вот пример для создания группы путём копирования из преднастроенной с добавлением соответствующей роли:

    $RGbyDefault = Get-RoleGroup "Recipient Management"

    New-RoleGroup "My Recipient Management" -Roles $RGbyDefault.roles

    Set-RoleGroup "My Recipient Management" -ManagedBy $RGbyDefault.ManagedBy

    New-ManagementRoleAssignment -SecurityGroup "My Recipient Management" -Role "Active Directory Permissions"


    Так же добавление роли к группе ролей можно выполнить через веб-интерфейс Exchange ECP

    image

  • PowerShell - Аудит использования учетных записей

    imageПродолжая тему анализа доменных учетных записей пользователей и компьютеров, которые давно не проходили авторизацию в домене предлагаю ещё один вариант скрипта из заметки PowerShell – Поиск неиспользуемых учетных записей пользователей и компьютеров в домене. В текущем варианте используется библиотека AD для PowerShell 2.0

    В указанном примере в конкретном OU выбираются все действующие учетные записи пользователей и компьютеров и выполняется сравнение даты последней авторизации (LastLogonDate) с максимально возможным значением (текущая дата минус 90 дней)

    Import-Module ActiveDirectory
    $SearchOU = "OU=Domain Users and Computers,DC=mydom,DC=com"
    $DaysLimit = 90
    $OldestDate = (Get-Date).AddDays(-$DaysLimit)
    #
    $Users = Get-ADUser -Filter {(Enabled -eq $True)} `
    -SearchBase $SearchOU -Properties SamAccountName,LastLogonDate,CN
    $UsersOld = $Users | Where-Object {$_.LastLogonDate -le $OldestDate}
    $UsersOld | Select `
    @{label="SamAccountName";expression={$_.SamAccountName}},`
    @{label="Last Logon";expression={$_.LastLogonDate}},`
    @{label="User Full Name";expression={$_.CN}}`
    | Sort -Property "Last Logon" | Format-Table  –AutoSize
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    write-host "Total users in OU: " $Users.Count " / Unused users: " $UsersOld.Count
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    #
    $Comps = Get-ADComputer -Filter {(Enabled -eq $True)} `
    -SearchBase $SearchOU -Properties Name,LastLogonDate,Description
    $CompsOld = $Comps | Where-Object {$_.LastLogonDate -le $OldestDate}
    $CompsOld | Select `
    @{label="PC Name";expression={$_.Name}},`
    @{label="Last Logon";expression={$_.LastLogonDate}},`
    @{label="Description";expression={$_.Description}}`
    | Sort -Property "Last Logon" | Format-Table  –AutoSize
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    write-host "Total computers in OU: " $Comps.Count " / Unused computers: " $CompsOld.Count
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"