Como dice el título: ¿Cómo sé en mi red qué computadoras tienen activa la cuenta de administrador local? Porque, según la solicitud del consultor de seguridad, debemos conocer y, si es posible, deshabilitar, cada cuenta de administrador local en cada una de las más de 300 computadoras portátiles/de escritorio de la red.
¿Hay un comando net use
o wmi
para abordarlo? ¿Se puede configurar de forma recursiva para preguntar a todas las computadoras de la red? Tenemos un controlador de dominio si ayuda, pero siempre hay algunos grupos con computadoras que no están unidas al dominio.
Respuesta1
Veo algunos problemas aquí.
- En computadoras que no están unidas a un dominio debe haberuncuenta de administrador activa incluso si no es la cuenta denominada Administrador.
- En computadoras que no están unidas al dominio, necesitará una cuenta para ejecutar su consulta
- En general, solo puede ejecutar una consulta cuando la computadora está en línea, por lo que deberá programar sus consultas para que se ejecuten regularmente e incluso entonces no se le podrá garantizar que las obtendrá todas porque no puede garantizar que las PC estarán en línea. en el período de tiempo en que ejecuta su consulta.
Habiendo dicho eso
En una PC con Windows 10, puede ejecutar lo siguiente para obtener la cuenta denominada Administrador y si está habilitada:
Get-LocalUser -Name Administrator | Select-Object Name, Enabled
Podrías usar este comando en un script como el siguiente para obtener el estado de una computadora.
[pscustomobject]@{
Computername = $env:Computername
AdminEnabled = Get-LocalUser -Name "Administrator" | Select-Object -ExpandProperty Enabled
} | Export-CSV -Path "\\a\share\where\you\can\put\this\$($env:Computername).csv"
Luego puede ejecutar el comando anterior como un script de inicio en el dominio (tenga en cuenta que el archivo compartido deberá poder escribirse en el grupo "Equipos del dominio")
En PC fuera del dominio no tienes suerte. Si tiene una cuenta que puede iniciar sesión de forma remota en varios sistemas, puede usar algo como esto:
$APSCredentialWhichHasTheRightsToDoThis = Get-Credential
Invoke-Command -Computername "RemotePC" -ScriptBlock {Get-LocalUser -Name "Administrator"} -Credential $APSCredentialWhichHasTheRightsToDoThis
para obtener el estado de la computadora remota.