• HP iLO2 - Настраиваем доменную авторизацию

    В случае, если у вас периодически возникает необходимость выполнять какие-то административные действия с помощью интерфейса HP Integrated Lights-Out 2 (iLO2) на серверах HP ProLiant и при этом вы имеете расширенную лицензию iLO 2 Advanced, возможно вам окажется полезным и удобным использование интеграции процесса авторизации в iLO2 с существующей доменной инфраструктурой Active Directory (AD). Рассмотрим пример такой интеграции.

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

  • PowerShell - Получаем список трастов AD

    Получаем список трастов AD с помощью PowerShell для текущего домена:

    $myLocalDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()

    $myLocalDomain.GetAllTrustRelationships() | ft -AutoSize

    Тоже самое только если нужно явно указать конкретный домен (указываем в переменной $SpecDomain):

    $SpecDomain = "my.holding.com"

    $myRootDirContext = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('domain',$SpecDomain)

    $myRootDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain([System.DirectoryServices.ActiveDirectory.DirectoryContext]$myRootDirContext)

    $myRootDomain.GetAllTrustRelationships() | ftAutoSize

    Источник информации: organic fertilizer - using powershell to list active directory trusts

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

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

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

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

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

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

  • 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 "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

  • PowerShell - Аудит использования парольной политики

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

    В указанном примере в конкретном OU выбираются все действующие учетные записи пользователей, за исключением сервисных, для которых значение атрибута SamAccountName начинается с символов “s-” и выполняется сравнение даты последней смены пароля с максимально возможным значением (текущая дата минус 185 дней)

    Import-Module ActiveDirectory
    
    $SearchOU = "OU=Domain Users,DC=mydom,DC=com"
    $PWAgeDaysLimit = 185
    
    $Users = Get-ADUser -Filter {(Enabled -eq $True) -AND (SamAccountName -notlike "s-*")} `
    -SearchBase $SearchOU `
    -Properties CN, SamAccountName, PasswordLastSet, PasswordNeverExpires, CannotChangePassword, LastLogonDate
    
     
    $OldestDate = (Get-Date).AddDays(-$PWAgeDaysLimit)
    $UsersOldPWD = $Users | Where-Object {$_.PasswordLastSet -le $OldestDate}
    $UsersOldPWD | Select `
    @{label="User Full Name";expression={$_.CN}},`
    @{label="SamAccountName";expression={$_.SamAccountName}},`
    @{label="PWD Last Set";expression={$_.PasswordLastSet}},`
    @{label="PWD Never Expirest";expression={$_.PasswordNeverExpires}},`
    @{label="PWD Cannot Change";expression={$_.CannotChangePassword}},`
    @{label="Last Logon";expression={$_.LastLogonDate}}`
    | Sort -Property "PWD Last Set"`
    | Format-Table  –AutoSize 
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    write-host "Total user accounts in OU: " $Users.Count
    write-host "Users with passwords not changed in" $PWAgeDaysLimit "days: " $UsersOldPWD.Count
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  • Настраиваем блокировку компьютера при простое через screen saver с помощью Group Policy Preferences

    imageВ большинстве организаций, применяющих в своей ИТ инфраструктуре локальные стандарты и регламенты информационной безопасности, уделяется отдельное внимание вопросу блокировки консолей рабочих станций пользователей при наступлении некоторого периода бездействия. Например, в качестве обязательного требования для большинства категорий пользователей может выставляться блокировка рабочего стола компьютера при отсутствии пользовательской активности более 15 минут. В управляемой среде Active Directory в доменных групповых политиках администраторам предоставляется ряд параметров, позволяющих централизованно настроить пользовательскую среду для форсированного применения механизма блокировки рабочего стола посредствам срабатывания программы - хранителя экрана (screen saver), или как её ещё называют, экранной заставки.

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

  • Ограничение доступа к внешним накопителям CD, FD, USB с помощью Group Policy Preferences

    Если по каким-то причинам возникает необходимость на некоторых компьютерах c OC Windows полностью заблокировать доступ пользователям к возможности использования съёмных носителей, – можно воспользоваться настройками доступными в стандартных Административных шаблонах групповых политик в разделе Computer Configuration > Administrative Templates > System > Removable Storage Access

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

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

  • PowerShell - Проверяем флаг защиты доменных OU от случайного удаления

    imageВ оснастке Active Directory Users and Computers (dsa.msc) открыв свойства любого OU на закладке Object можно наблюдать флаг “Protect object from accidental deletion” (Защитить объект от случайного удаления). В библиотеке “Best Practices Analyzer for Active Directory Domain Services” есть хорошая заметка на тему управления этим флагом через PowerShell - AD DS: All OUs in this domain should be protected from accidental deletion

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

    # Переменная $LDAPPathOU – ADSI путь к контейнеру внутри которого будем производить поиск OU (в формате distinguishedName)

    #

    $LDAPPathOU = "OU=ImportantOUs,DC=holding,DC=com"

    Import-Module ActiveDirectory

    Get-ADOrganizationalUnit -filter * -SearchScope Subtree -SearchBase $LDAPPathOU -Properties ProtectedFromAccidentalDeletion | Where {$_.ProtectedFromAccidentalDeletion -match "False"} | Select name, DistinguishedName | Format-Table –AutoSize


    Для того чтобы на всех незащищённых OU сразу выставить данный флаг немного изменим скриптоблок до следующего вида:

    $LDAPPathOU = "OU=ImportantOUs,DC=holding,DC=com"

    Import-Module ActiveDirectory

    Get-ADOrganizationalUnit -filter * -SearchScope Subtree -SearchBase $LDAPPathOU -Properties ProtectedFromAccidentalDeletion | Where {$_.ProtectedFromAccidentalDeletion -match "False"} | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true

    При желании выполнение такого скрипта можно включить в планировщик задач чтобы в последующем быть уверенным в том, что на всех важных OU этот флаг будет включён.

  • SCOM 2007 R2 - Аудит изменений доменных групп безопасности

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

    Для решения этой задачи воспользуемся возможностями SCOM и на примере доменной группы “Domain Admins” создадим правила, которые будут отслеживать события, регистрируемые в журнале “Security” на контроллерах домена в момент добавления и удаления пользователей в эту доменную группу безопасности.

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