Что можно улучшить в этом сценарии очистки AD - PullRequest
0 голосов
/ 16 января 2019

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

Что можно улучшить на этом?

$LogDate = Get-Date -f yyyyMMddhhmm
$SearchBase = "OU=Users,DC=domain,DC=com"
$moveToOU = "OU=Inactive Accounts,OU=Disabled,DC=domain,DC=com"
$LogArray = @()
$PasswordAge = (Get-Date).AddDays(-29)
$log = "C:\temp\logdisable_$LogDate.log"

$DisabledUsers = (Get-ADUser -SearchBase $SearchBase -Properties samaccountname, name, distinguishedname -Filter {((lastlogondate -notlike "*") -or (lastlogondate -le $Passwordage)) -and (enabled -eq $True) -and (whencreated -le $Passwordage)})

if ($DisabledUsers -ne $null ) {
    foreach ($DisabledUser in $DisabledUsers) {
        try {
            Disable-ADAccount  -Identity $($DisabledUser.samaccountname)  -ErrorAction Stop -PassThru -Verbose -WhatIf
            $LogDate + " : " + $DisabledUser.samaccountname  + " AD account Disabled " | Out-File $log -Append
            Set-ADUser $DisabledUser -replace @{description = "InactiveUserAccount"} -ErrorAction Stop -PassThru -WhatIf
            $LogDate + " : " + $DisabledUser.samaccountname  + " Description Set as Inactive " | Out-File $log -Append
            Move-ADObject -Identity $($disableduser.SamAccountName) -TargetPath $moveToOU -WhatIf
        } catch {
            Write-Output "$LogDate $error[0] $($id)" | Out-File $log -append
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...