sergey vasin

The IT blog

Изменение значений атрибутов Active Directory, представленных битовыми масками

leave a comment »

Вслед предыдущей статье, где мы рассматривали способы фильтрации с использованием значений флагов в атрибутах, представленных в виде битовых масок, давайте поговорим о подходах к изменению значений таких атрибутов.

В атрибутах такого типа каждый бит является отдельным флагом и имеет свое собственное значение. Примерами таких атрибутов являются UserAccountControl для объектов пользователей и компьютеров и GroupType для объектов групп.

В качестве примера давайте опять же обратимся к второму флагу — ADS_UF_ACCOUNTDISABLE — атрибута UserAccountControl, указывающему, является ли учетная запись пользователя или компьютера активной — значение 0, или же она деактивирована — значение 1.

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

Реклама

Written by Сергей Васин

Сентябрь 12, 2017 at 15:07

Опубликовано в Active Directory, PowerShell

-band, -bor и их LDAP-аналоги

leave a comment »

Как мы знаем, многие атрибуты объектов Active Directory представлены в виде битовых масок. Например, такие как UserAccountControl для объектов пользователя или компьютера или GroupType для объекта группы.

И хотя командлеты модуля ActiveDirectory представляют эти значения в виде отдельных атрибутов, скрывая от пользователя их истинную природу, иногда нам все-таки приходится работать с ними напрямую.

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

Written by Сергей Васин

Сентябрь 11, 2017 at 13:31

Опубликовано в Active Directory, PowerShell

Использование методов ConvertToDateTime и ConvertFromDateTime объектов WMI

leave a comment »

В продолжение предыдущей темы о конвертации значений даты и времени, в этот раз поговорим об объектах WMI.

Для получения экземпляров объектов WMI нам доступны несколько способов. Один из них — это использование командлетов модуля CIMCmdlets. Например, так:

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

Written by Сергей Васин

Сентябрь 8, 2017 at 14:00

Опубликовано в PowerShell, WMI

Tagged with

Получение значения атрибута pwdLastSet объекта пользователя при запросе к Active Directory с использованием LDAP

leave a comment »

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

Когда для запросов к Active Directory мы используем командлеты одноименного модуля, то результаты их выполнения не требуют от нас каких-либо дополнительынх действий. Однако, если по каким-то причинам решили использовать LDAP, здесь все немного сложнее.

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

Written by Сергей Васин

Сентябрь 7, 2017 at 13:26

Опубликовано в Active Directory, PowerShell

ConvertFrom-sthSID — функция для конвертации строки SID в формат массива байтов

leave a comment »

В предыдущей статье мы говорили о преобразовании SID из массива байтов в строчный формат. Почему бы нам не написать функцию для обратного преобразования.

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

Written by Сергей Васин

Сентябрь 6, 2017 at 12:54

Опубликовано в Active Directory, PowerShell

ConvertTo-sthSID — функция для конвертации SID в виде массива байтов в строчный формат

leave a comment »

Работать с Active Directory из PowerShell гораздо удобнее с использованием командлетов из одноименного модуля. Однако, если на каком-либо компьютере этот модуль не установлен и PowerShell Remoting нам в данный момент по каким-то причинам недоступен, мы можем использовать ADSI — Active Directory Service Interfaces.

Когда мы обращаемся к Active Directory при помощи ADSI, например, так

[adsi]"LDAP://CN=UserName,CN=Users,DC=domain,DC=com" | Format-List -Property *

большинство атрибутов выглядят так же, как если бы мы использовали командлет Get-ADUser из модуля ActiveDirectory. Но есть и несколько исключений. Одним из них является атрибут ObjectSID.

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

Written by Сергей Васин

Сентябрь 5, 2017 at 13:41

Опубликовано в Active Directory, PowerShell

Remove-sthPreviousModuleVersions: функция для удаления предыдущих версий модулей

leave a comment »

Модуль PowerShellGet — очень удобная вещь. Мы можем легко находить, устанавливать и обновлять модули из PowerShell Gallery и других зарегистрированных репозиториев при помощи командлетов Find-Module, Install-Module и Update-Module.

Однако, вследствие того факта, что PowerShell 5.0 и выше теперь поддерживает возможность присутствия в системе нескольких версий модулей одновременно (что само по себе является полезной возможностью), то при обновлении этих модулей с использованием командлета Update-Module, предыдущие их версии остаются в системе.

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

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

Written by Сергей Васин

Июль 27, 2017 at 16:54

Опубликовано в PowerShell