Agradeceríamos tu apoyo para difundir nuestras reseñas con relación a las ciencias informáticas.
En busca de esta misma solución, encontré lo que necesitaba en una pregunta diferente en stackoverflow: Powershell-log-off-remote-session. La siguiente línea devolverá una lista de usuarios registrados.
query user /server:$SERVER
No hay un “comando simple” para hacer eso. Puede escribir una función o elegir entre varias que están disponibles en línea en varios repositorios de código. Yo uso esto:
function get-loggedonuser ($computername)
#mjolinor 3/17/10
$regexa = '.+Domain="(.+)",Name="(.+)"$'
$regexd = '.+LogonId="(d+)"$'
$logontype = @
"0"="Local System"
"2"="Interactive" #(Local logon)
"3"="Network" # (Remote logon)
"4"="Batch" # (Scheduled task)
"5"="Service" # (Service account logon)
"7"="Unlock" #(Screen saver)
"8"="NetworkCleartext" # (Cleartext network logon)
"9"="NewCredentials" #(RunAs using alternate credentials)
"10"="RemoteInteractive" #(RDPTSRemoteAssistance)
"11"="CachedInteractive" #(Local wcached credentials)
$logon_sessions = @(gwmi win32_logonsession -ComputerName $computername)
$logon_users = @(gwmi win32_loggedonuser -ComputerName $computername)
$session_user = @
$logon_users
Dado que estamos en el área de PowerShell, es muy útil si podemos devolver un objeto de PowerShell adecuado…
Personalmente, me gusta este método de análisis, por la brevedad:
((quser) -replace '^>', '') -replace 's2,', ',' | ConvertFrom-Csv
Nota: esto no tiene en cuenta a los usuarios desconectados (“disco”), pero funciona bien si solo desea obtener una lista rápida de usuarios y no le importa el resto de la información. Solo quería una lista y no me importaba si estaban desconectados actualmente.
Si le importa el resto de los datos, es un poco más complejo:
(((quser) -replace '^>', '') -replace 's2,', ',').Trim() | ForEach-Object
if ($_.Split(',').Count -eq 5)
Write-Output ($_ -replace '(^[^,]+)', '$1,')
else
Write-Output $_
| ConvertFrom-Csv
Llevo un paso más allá y les doy un objeto muy limpio en mi blog.
Terminé haciendo esto en un módulo.
Valoraciones y comentarios
Al final de todo puedes encontrar las críticas de otros gestores de proyectos, tú todavía eres capaz mostrar el tuyo si te apetece.