Полезные командлеты Powershell для Active Directory

Рекурсивное удаление OU c предварительной проверкой наличия объектов внутри

Код:
$ChildObjects = Get-ADObject -Filter 'ObjectClass -ne "organizationalUnit"' -SearchBase $DN #проверка наличия пользователей и групп в удаляемых каталогах
       if ($ChildObjects.Count -gt 0) { #если объекты найдены перемещаем
        Write-Host "В каталоге $DN найдены пользователи или группы" -ForegroundColor Yellow
        foreach ($Child in $ChildObjects) {
         Move-ADObject -Identity $Child.DistinguishedName -TargetPath $newDN  #перемещение найденных объектов
         Write-Host "Объект "$Child.Name" перемещен в $newDN" -ForegroundColor Green
         }
   }   else {
        Write-Host "В OU нет объектов для перемещения перед удалением" -ForegroundColor Green
        Set-ADOrganizationalUnit -Identity $DN -ProtectedFromAccidentalDeletion $false -Confirm:$false
        Remove-ADOrganizationalUnit -Identity $DN -Recursive -Confirm:$false
        Write-Host "Каталог $DN успешно удален" -ForegroundColor Green
               }
 
Посчитать количество учеток в домене
Количество пользователей
(Get-AdUser -Filter * | Measure-Object).Count

Количество групп
(Get-ADGroup -Filter * | Measure-Object).Count
Количество учеток пк
(Get-ADComputer -Filter * | Measure-Object).Count
 

Вложения

Перенести отключенные учетные записи вы отдельный OU
Search-ADAccount -AccountDisabled | Move-ADObject -TargetPath "OU=Disabled Users,OU=instructorpaul,DC=instructorpaul,DC=com"

Снять галку в свойствах УЗ - User must change password at next logon
Get-ADUser -Filter * -SearchBase "OU=MAIN,DC=DOMAIN,DC=LOCAL" | Set-ADUser -ChangePasswordAtLogon $false

Посчитать количество юзеров в конкретной OU
(Get-ADObject -Filter * -SearchBase "path of your OU").Count
 
Назад
Верх