• “Вспоминаем” пароль от BIOS на ноутбуках

    imageНедавно попал мне в руки старенький ноутбук Samsung X10. Потребовалось обновить на нём ОС, однако столкнулся с проблемой. BIOS на ноутбуке оказался запоролен, а пароль оказался безвозвратно утерян. Добираться до батарейки поддерживающую память CMOS совсем не хотелось, и я решил поискать методы штатного решения этой проблемы. Моему удивлению не было предела, когда я узнал, что пароль на BIOS в некоторых ноутбуках можно сбрасывать совершенно запросто.

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

  • PowerShell – Обновление групп безопасности политик репликации паролей RODC в Windows Server 2012 R2

    imageКак и в предыдущей заметке было решено оптимизировать скрипт изложенный ранее в заметке PowerShell – Поддержание групп безопасности политики репликации паролей RODC в актуальном состоянии для выполнения с использованием новых командлетов из PowerShell модуля ActiveDirectory на Windows Server 2012 R2 таким образом, чтобы в результате работы скрипта не происходило полное переписывание членства пользователей в группах безопасности.

    Для работы скрипта потребуется конфигурационный файл в формате *.csv, в котором будет содержаться информация о том, какие OU в домене будут использоваться для поиска учетных записей пользователей и заполнения ими определённых групп репликации паролей. Каждая строчка файла представляет собой связку DN доменной группы безопасности репликации паролей и DN OU. Файл должен иметь примерно такое содержание:

    RODCAllowGroupDN;UsersOUDN 
    CN=RODC-Group1,OU=Groups,DC=mydom,DC=com;OU=Branch1,DC=mydom,DC=com 
    CN=RODC-Group2,OU=Groups,DC=mydom,DC=com;OU=Branch2,DC=mydom,DC=com 
    CN=RODC-Group3,OU=Groups,DC=mydom,DC=com;OU=Branch3,DC=mydom,DC=com

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

  • PowerShell – Обновление группы безопасности для Password Settings objects (PSOs) в Windows Server 2012 R2

    imageПосле внедрения Audit Collector из состава System Center 2012 R2 Operations Manager при анализе изменений членства глобальных доменных групп безопасности стало очевидно, что вариант описанного ранее скрипта в заметке PowerShell – Поддержание группы безопасности для Password Settings objects (PSOs) в актуальном состоянии не является оптимальным, так как в результате его выполнения каждый раз фактически происходит переписывание состава членства группы безопасности, что судя по последующему анализу журналов безопасности на контроллере домена, порождает множественные события удаления/добавления пользователей в эту самую группу. Привожу вариант измененного скрипта, использующего новые командлеты из PowerShell модуля ActiveDirectory на Windows Server 2012 R2. В обновлённом скрипте используется поиск и добавление в группу только конкретных учетных записей, а не полное переписывание членства как это было ранее.

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

  • 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 "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  • PowerShell – Поддержание групп безопасности политики репликации паролей RODC в актуальном состоянии

    imageПри использовании контроллеров домена «только на чтение» (RODC) для каждого RODC должна быть определена доменная группа безопасности, в которую входят учетные записи пользователей, чьи учетные данные могут реплицироваться на этот RODC. В крупной географически распределённой инфраструктуре с большим количеством контроллеров домена задача поддержания состава этих групп безопасности «в рукопашную» может стать проблемой, особенно если учесть «человеческий фактор», когда например, в каком-то из удалённых подразделений местный администратор создаёт новую учетную запись доменного пользователя, а включить в группу репликации паролей эту запись забывает. Для того чтобы исключить в данном случае «человеческий фактор», можно автоматизировать данный процесс с помощью PowerShell. Рассмотрим пример скрипта, который можно включить в планировщик задач на контроллере домена на периодическое выполнение.

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

  • PowerShell – Поддержание группы безопасности для Password Settings objects (PSOs) в актуальном состоянии

    imageПо мотивам применения Password Settings objects (PSOs) с нацеливанием объектов PSO на доменные группы безопасности встаёт вопрос о поддержании состава этих групп в актуальном состоянии. В моём окружении все учетные записи, находящиеся в определённом OU, должны быть включены в доменную группу безопасности, к которой применяется PSO, что само по себе уже есть критерий, по которому можно автоматизировать задачу поддержания группы в актуальном состоянии с помощью PowerShell. Представляю соответствующий скрипт.

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