Несколько настроек Visual Studio Code

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

Читать далее

Реклама

Primary Group в Active Directory

Когда мы хотим получить информацию о членстве в группах определенного пользователя или компьютера, мы можем воспользоваться командлетами Get-ADPrincipalGroupMembership или Get-ADAccountAuthorizationGroup.

Первый из них выведет информацию обо всех группах, в которые объект входит непосредственно.

Результат выполнения второго командлета будет содержать все группы, в которые объект входит как явно, так и через другие группы. Кроме того, этот командлет выведет информацию обо всех системных группах, SID которых будет присутствовать в токене безопасности пользователя, например Authenticated Users.

Альтернативой использованию вышеупомянутых командлетов будет запрос значений backlink-атрибута MemberOf или атрибута типа constructed msds-MemberOfTransitive.

Читать далее

Вложенные группы Active Directory и PowerShell

Группы Active Directory используются для множества разных целей, будь то фильтрация групповой политики или назначение определенных привилегий пользователям. Достаточно гибкая структура позволяет разграничивать объекты пользователей и компьютеров наиболее удобным для нас образом.

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

Для поиска подобной информации мы можем использовать командлеты модуля ActiveDirectory.

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Читать далее

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

Работать с 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.

Читать далее

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

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

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

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

Читать далее