Búsqueda de sitios web

Reinicie todas las computadoras en una unidad organizativa específica


Recientemente recibí una solicitud para apagar las computadoras por habitación. Específicamente, se trataba de una escuela donde los estudiantes a menudo se olvidan de apagar sus computadoras. Por supuesto que esto es posible con PowerShell, ¿qué más?

La meta

Primero tenemos que recuperar todas las unidades organizativas. No sólo los de los padres, sino también los de los hijos. Me gusta la facilidad de uso con Out-GridView.


$room=Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=Clients,OU=Workstations,DC=sid-500,DC=com' -SearchScope OneLevel | Select-Object DistinguishedName | Out-GridView -PassThru -Title 'Select Computers OU to restart all Computers in that OU'

Tenga en cuenta el comando Out-GridView después de la tubería. Esto nos da la posibilidad de seleccionar la OU en una especie de interfaz gráfica.

Después de seleccionar la unidad organizativa, haga clic en Aceptar. Todas las computadoras en esa unidad organizativa se apagarán.

El código

Tenga en cuenta que debe adaptar la línea 1 a su estructura organizativa como mejor le parezca.


$room=Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=Workstations,DC=sid-500,DC=com' -SearchScope OneLevel | Select-Object DistinguishedName | Out-GridView -PassThru -Title 'Select Computers OU to restart all Computers in that OU'
$comp=(Get-ADComputer -SearchBase $room.distinguishedname -Filter *).Name

Foreach ($c in $comp)

{Restart-Computer -ComputerName $c -ErrorAction SilentlyContinue -Force -Verbose}

Eso es todo. Automatización completa.

Artículos relacionados