Hola
Estoy trabajando en un simple script a través del cual he de borrar cuentas expiradas en AD.
Me he encontrado que el comando remove-aduser no tiene la opción –force por lo que cuando va a borrar un usuario, solicita confirmación y por tanto, no puedo automatizar el borrado de estas cuentas mediante una tarea programada.
Solución
Para las cuentas en las que no está prevista la utilización de la variable –force, podéis utilizar la variable –confirm:$false y con ello saltar la confirmación.
Script
El script es el siguiente:
Function ModuloAD{
Try
{
Import-Module ActiveDirectory -ErrorAction Stop
}
Catch
{
Write-Host "[ERROR]`t Las herramientas de administración de Active Directory no han podido ser encontradas"
Exit 1
}
}
#-------------------------------------------------------------------------------
#Ejecución script general
#-------------------------------------------------------------------------------
ModuloAD
$path="OU=TempAdmusers,Dc=domain,dc=local"
$users= Search-ADAccount -AccountExpired -SearchBase $path
$users.samaccountname
foreach ($user in $users){
Try
{
Remove-ADUser $user -Confirm:$false
}
Catch
{
Write-Host "[ERROR]`t No se ha podido borrar el usuario $user"
}
}