Determinar a tela remota do Windows bloqueada ou desbloqueada remotamente

2

Eu tenho várias estações de trabalho do Windows 7/2008 no meu ambiente de domínio. nós temos um GPO que bloqueia automaticamente a janela se ninguém estiver trabalhando nele (ocioso). (Nenhum protetor de tela apenas bloqueia)

Como posso verificar remotamente se a estação de trabalho remota está Bloqueada ou Desbloqueada? Eu tentei consultar o usuário usando o comando quser (testado no usuário cujas janelas estão bloqueadas ou outro usuário cujas janelas estão desbloqueadas, mesmo resultado)

C:\>psexec \REMOTEPC1 quser

 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
 USER1                 console             1  Active      none   1/24/2017 11:21 AM

o resultado acima está mostrando STATE = ACTIVE, mas não consigo consultar se a estação de trabalho está LOCKED / UNLOCKED. como obter resultado requerido instantaneamente por comando ou método?

    
por Syed Jahanzaib 24.01.2017 / 10:57

2 respostas

0

Esqueci de atualizar a postagem. Como estou usando minha caixa Ubuntu para gerenciar a maioria das funções do Active Directory usando scripts Webmin / BASH, criei um pequeno script bash que consulta janelas remotas registradas na sessão do usuário e o status do Windows bloqueado / desbloqueado.

Resultado:

root@linux:/temp# /temp/winuserstatus.sh WORKSTAION-1

Remote PC = WORKSTAION-1
IP Details =
Address: 10.0.0.20
Address: 10.0.0.21

User Status = Logged in User found ... details as below ...
jahan.zaib console 13 Active 1+00:53 1/23/2017 1:57 PM
Windows Status = Windows is LOCKED

O script bash faz o seguinte…

  • Verifique se há ping no ping, saia com erro

Obtenha o IP remoto das janelas via NSLOOKUP usando o DNS local

Utilizador com sessão iniciada atual e respetivo estado

O status atual das janelas é bloqueado / desbloqueado.

TRIM os resultados e mostre de acordo com o nosso gosto

Eu publiquei os detalhes aqui

    
por 03.02.2017 / 07:05
1

Não consigo consultar se a estação de trabalho está LOCKED / UNLOCKED

Use o seguinte script do PowerShell (GetRemoteLogonStatus.ps1).

This script will return the logon status of the local or a remote machine. Return types include "Not logged on", "Locked", "Logged on", and "Offline. The most useful part of this is to check whether a computer is in the locked state, although the other return types could also be useful.

This is a simple function, and can easily be included in a larger script. The return types could be changed to numbers for the calling script to more easily parse the return value.

# This function will return the logged-on status of a local or remote computer 
# Written by BigTeddy 10 September 2012 
# Version 1.0 
# Sample usage: 
# GetRemoteLogonStatus '<remoteComputerName>' 

function GetRemoteLogonStatus ($computer = 'localhost') { 
if (Test-Connection $computer -Count 2 -Quiet) { 
    try { 
        $user = $null 
        $user = gwmi -Class win32_computersystem -ComputerName $computer | select -ExpandProperty username -ErrorAction Stop 
        } 
    catch { "Not logged on"; return } 
    try { 
        if ((Get-Process logonui -ComputerName $computer -ErrorAction Stop) -and ($user)) { 
            "Workstation locked by $user" 
            } 
        } 
    catch { if ($user) { "$user logged on" } } 
    } 
else { "$computer Offline" } 
}

Fonte Obtenha o status de login remoto - Powershell

    
por 24.01.2017 / 13:58