Как найти учетные записи компьютера, которые больше не необходимы в AD

  1. Хорошо это - самое твердое.. Мой первый инстинкт не должен идти с svn, просто из-за времени, которое требуется. Это поддерживает свою собственную структуру каталогов '.svn', и поэтому я нашел это болезненным со многими маленькими файлами. Ни один в диапазоне, упомянутом только в сотнях или нескольких тысячах макс.. Но тем не менее я не думаю, что это будет лучше в более высоких диапазонах...
  2. Не имейте опыта с rsync в реальном времени, хотя, не, комментируют - также. но от того, что я считал и услышал, это - лучшая идея.

    Но, какова точная проблема, которую Вы пытаетесь решить? Вы, кажется, пытаетесь использовать один лучший инструмент для нескольких проблем. Ваше сообщение подсказывает, что Вы предпочли бы управление версиями, но главным образом заинтересованный синхронизацией и резервным копированием. Предполагаю здесь (возражайте моделировать? :-P), но я думаю, что Вам нужна комбинация обоих в различных целях.

    1. Необходимо использовать перемещение svn. команда перемещения ОС не будет отражена в информации о репозитории, и svn не запишет/отследит ее. http://svnbook.red-bean.com/en/1.1/re18.html
    2. http://svnbook.red-bean.com/en/1.1/re08.html
4
задан 16 May 2014 в 18:22
3 ответа

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

  • Находит старые учетные записи на основе lastLogonTimeStamp с использованием get-ADcomputer
  • отключает их через 60 дней
  • удаляет их через 90 дней
  • Регистрирует все, что он делает

Кроме того, мы используем флаг ProtectFromAccidentialDeletion для учетной записи, если мы не хотим, чтобы она была удалена.

4
ответ дан 3 December 2019 в 02:58

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

2
ответ дан 3 December 2019 в 02:58

Почему не PowerShell?

    $Computers =  ([ADSISearcher]"(&(objectCategory=computer)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))").FindAll()
    $Computers = $Computers | ForEach { $_.Path }
    $Age = $(Get-Date).AddDays(-90)

    $StaleComputerAccounts = @()
    $NeverUsedComputerAccounts = @()


    ForEach ($Computer in $Computers) {

        $ComputerObj = [ADSI]$Computer


        if ($ComputerObj.lastLogon) {

            $LastLogon = [DateTime]::FromFileTime($ComputerObj.ConvertLargeIntegerToInt64($ComputerObj.lastlogon[0]))
            if ( $LastLogon -lt $Age ) {

                $StaleComputerAccounts += $Computer

            }

        }
        else {

            $NeverUsedComputerAccounts += $Computer

        } 

}


У вас должен получиться список из $ StaleComputerAccounts и $ NeverUsedComputerAccounts , с которыми затем можно будет работать с другими PowerShell. Мне нравится делать что-то вроде этого:

$TargetOU = "OU=Computers,OU=Disabled,OU=,DC=CONTOSO,DC=com"
$OUObj = [ADSI]"LDAP://$TargetOU"


ForEach ($Computer in $StaleComputerAccounts) {

    $ComputerObj = [ADSI]$Computer
    $ComputerObj.PSBase.MoveTo($OUObj)
    $ComputerObj.InvokeSet("accountDisabled", $True)
    $ComputerObj.SetInfo()

}



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

1
ответ дан 3 December 2019 в 02:58

Теги

Похожие вопросы