Настройка пользовательских политик Lync на основе нахождения в OU

Возникла задача предоставить внешний доступ к Lync всем пользователям определенного контейнера AD (OU).

Для данных команд нам потребуется Lync Server Management Shell.

Для начала выведем текущие разрешения для пользователей

get-csuser -OU "OU=папка,DC=holding,DC=com" | select displayname, externalaccesspolicy

Теперь поменяем политику доступа к Lync для этих пользователей

get-csuser -OU "OU=папка,DC=holding,DC=com" | Grant-CsExternalAccessPolicy -PolicyName "Tag:Allow Outside Access" -PassThru

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

Обратите внимание, что в Lync Shell за работу с пользовательскими политиками отвечает 5 командлетов

get-command *externalaccess*

  • Get отображает все имеющиеся политики и их настройки;
  • Grant – назначает применяет пользовательскую политику на пользователя. Чтобы отменить назначение пользовательской политики, необходимо в параметре PolicyName указать $null;
  • New – создание новой политики;
  • Remove – удаление политики;
  • Set – изменение параметров существующей политики

Также стоит ознакомиться со справкой по командлету

get-help Grant-CsExternalAccessPolicy -full | more

Например, из справки я узнал, что мне потребуется параметр -PassThru, иначе командлет не возьмет имена пользователей, передающиеся по конвейеру.

Инвентаризация контроллеров домена с помощью Powershell

Как вы уже поняли, моим хобби является написание скриптов на Powershell для Active Directory 🙂

В этот раз я поделюсь скриптом, который составляет табличку по всем доменным контроллерам, в которой содержится сайт AD, в которой содержится сайт, операционная система с сервис-паком, производитель и модель сервера, количество процессоров и памяти.

Из полезного – еще можно выдернуть наличие на контроллере домена роли глобального каталога, FSMO-ролей, RODC или нет. Плюс убрать саму привязку скрипта к модулю AD for Powershell. Но атрибута “глобальный каталог” или RODC в выводе Get-ADDomainController я не увидел, а FSMO-роли возвращаются в виде массива значений, поэтому в экспорт CSV не попадают.

Get-ADDomainController -Filter * | select hostname, site, operatingsystem, OperatingSystemServicePack, @{name="vendor";expression={(gwmi Win32_ComputerSystem -ComputerName $_.hostname).Manufacturer}}, @{name="model";expression={(gwmi Win32_ComputerSystem -ComputerName $_.hostname).model}}, @{name="CPU, count";expression={(gwmi Win32_ComputerSystem -ComputerName $_.hostname).NumberOfLogicalProcessors}}, @{name="RAM/GB";expression={[math]::round((gwmi Win32_ComputerSystem -ComputerName $_.hostname).Totalphysicalmemory/1GB)}} | sort hostname | Export-
Csv -NoTypeInformation C:\scripts\dclist.csv

Полученный CSV-файл открывается в Excel и обрабатывается с помощью операции “Текст по столбцам”.

[table id=1 /]

Подсчет количества ОЗУ в контроллерах домена

Возникла у меня задача получения списка контроллеров и количества памяти на них. Так как я привык работать через Active Directory Module for Powershell, приведу пример работы с ним.

Get-ADComputer -SearchBase 'ou=domain controllers,dc=domain' -filter * | select Name, @{Name="Memory, Gb";Expression={[decimal]::round((Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2 -ComputerName $_.dnshostname).TotalVisibleMemorySize/1mb)}} | sort name

Результатом станет красивая табличка, содержащая количество гигабайт для каждого контроллера.

Upd: В комментариях справедливо замечают, что скрипт можно использовать для инвентаризации обычных серверов в произвольной OU.

UPD2: Появилась более продвинутая версия скрипта.

Распространение и выполнение сценариев PowerShell с помощью System Center 2012 Configuration Manager

Виталий Якоб показывает, как выполнять Powershell-скрипты с помощью SCCM2012.

После создания скрипта для изменения строки подключения к RDS-ферме в RDP файлах пользователей нам нужно этот скрипт как-то доставить и выполнить на нескольких сотнях компьютеров. В этом непростом деле нам вновь поможет System Center 2012 Configuration Manager (SCCM).

Первым делом сохраним сценарий PowerShell в доступном сетевом расположении.

Перейдём к консоль SCCM и вызовем мастер создания пакета (Package). Присвоим имя создаваемому пакету, например “KOM Package Change Server name On RDP”. Укажем, что пакет имеет исходные файлы и укажем путь к каталогу с скриптом.

Continue reading “Распространение и выполнение сценариев PowerShell с помощью System Center 2012 Configuration Manager”

Перенос Custom Attributes между VMware vCenter

У меня возникла задача переехать в новый vCenter. При планировании работ обратил внимание на потребность переноса полей виртуальных машин Custom Attributes, созданных мной.

В моей инфраструктуре используется два дополнительных поля  – Administrator, где указываются основной и дублирующий администратор, поле – Nagios, где указывается имя, под которым сервер занесен в систему мониторинга. Данное поле позволяет осуществлять контроль все ли продуктивные виртуальные машины занесены в Nagios.

В отличии от Notes, созданный вручную Custom Attribute хранится в vCenter и при переходе на чистую базу данных не сохраняется.

Поиск быстро выдал пример скрипта на PowerShell для экспорта-импорта данных полей.

Приведу кусочек кода, немного исправленный и используемый мной.

Экспорт (обратите внимание на указание кодировки для атрибутов на кириллице):

Импорт:

Настройка Lync Mobile 2010

Нюансы настройки Lync Mobile 2010 описаны в официальном гайде MS.

Кроме того, есть пошаговая статья с их форума.

Схематично, порядок действий можно описать так:

  1. Создание DNS-записей для автообнаружения;
  2. Установка обновления Lync 2010 от ноября 2011 года;
  3. Установка Lync Mobility Service и Lync Autodiscover Service;
  4. Изменение сертификатов для поддержки новых имен;
  5. Настройка обратного прокси (reverse proxy);
  6. Настройка push-уведомлений для Windows Phone/Apple iOS;
  7. Настройка мобильной политики для пользователей.
  8. Решение проблем.

Вкратце пройдусь по всем пунктам и резюмирую свой негативный опыт.

Continue reading “Настройка Lync Mobile 2010”

Windows Server 2012 – Поднимаем RODC через PowerShell

Продолжаем перепечатку статей Алексея Максимова.

В одной из прошлых заметок я уже писал о проблеме выбора ближайшего RWDC при вводе в домен компьютера попадающего в сайт с RODC. В процессе перевода RODC на Windows Server 2012 на одной из удалённых площадок столкнулся с ситуацией, до боли напоминающей старую проблему… В процессе работы мастера повышения сервера до RODC при попытке выбрать в домене группу для Администраторов RODC или же группы для репликации паролей, диалоговое окно выбора доменных объектов не открывалось и возникала странная ошибка, говорящая о невозможности определения состояния RWDC находящегося совершенно “в другой степи” и не имеющего отношения ни к местному сайту ни к ближайшему RWDC.

Continue reading “Windows Server 2012 – Поднимаем RODC через PowerShell”

Список переадресаций в Exchange

В почтовой системе Exchange можно включить переадресацию (forwarding). В этом случае почта, направленная userA, пойдет userB (или обоим, в зависимости от настроек).

А вот как получить список имеющихся переадресаций?

Гугл как всегда быстро подсказал ответ. Чтобы запомнить, сделаю перепост у себя.

Continue reading “Список переадресаций в Exchange”

Работа с групповыми политиками через PowerSHell

Возникла задача по однотипной настройке групповых политик на ряде орг.подразделений (OU).

Поиск сразу же подсказал готовый вариант.

  • На контроллере домена (с версией ОС не ниже 2008) или сервере с оснасткой GPMC запустите PowerShell;
  • Загрузите командлеты import-module grouppolicy;
  • Я использовал New-GPLink и Set-GPInheritance, но у вас могут быть свои наборы командлетов;
  • Profit.

Обновление хостов с vSphere 4.1 до vSphere 5.1 и миграция с распределенного коммутатора на стандартный

Дошли у меня руки до обновления версии своих хостов до 5.1. Лицензии на vSphere 5 куплены в редакции Enterprise, поэтому пришлось заодно отказываться и от распределенного коммутатора.

Итак, поехали.

Continue reading “Обновление хостов с vSphere 4.1 до vSphere 5.1 и миграция с распределенного коммутатора на стандартный”