Por que os resultados da lista de tarefas são diferentes quando executados localmente vs.

1

Eu tenho uma configuração do windows box com cygwin e um servidor ssh que tem funcionado bem, mas hoje me deparei com um comando que estou tentando usar que retorna resultados diferentes com base em se ele é usado localmente ou por ssh.

Primeiro, temos os resultados de executá-lo em ssh ...

ssh -i /tmp/tmpyEW3f0 [email protected] 'tasklist /FI "username eq Administrator"'
INFO: No tasks running with the specified criteria.

Agora, executamos o mesmo comando localmente em 10.13.7.210 e recebemos esse resultado ...

C:\Documents and Settings\Administrator>tasklist /FI "username eq Administrator"
Image Name                   PID Session Name     Session#    Mem Usage
========================= ====== ================ ======== ============
explorer.exe                 536 RDP-Tcp#14              0     24,400 K
jusched.exe                  776 RDP-Tcp#14              0      9,228 K
ctfmon.exe                   780 RDP-Tcp#14              0      3,456 K
ApacheMonitor.exe            796 RDP-Tcp#14              0      2,520 K
rdpclip.exe                  444 RDP-Tcp#14              0      4,344 K
jucheck.exe                 1160 RDP-Tcp#14              0      8,708 K
cmd.exe                      876 RDP-Tcp#14              0      2,852 K
tasklist.exe                3008 RDP-Tcp#14              0      4,292 K

Alguma ideia do motivo pelo qual eles estão produzindo resultados diferentes?

    
por EEP 16.05.2013 / 15:34

1 resposta

0

A causa da diferença é considerada um mecanismo de segurança no Windows onde as sessões do usuário são tratadas separadamente. A mesma conta de usuário que faz o login localmente e via SSH custa duas sessões diferentes e, portanto, nenhum título de janela é visível entre essas sessões.

De acordo com a resposta de suporte do Bitvise SSH Server:

It makes sense this would not work cross-session because the desktops of different logins are supposed to be insulated from one another. If this works over FreeSSHD, it seems possible it might be launching the process in the same desktop.

[...]

I don't see how we can make window titles accessible across Windows sessions. Windows prevents that, there's a security boundary between the desktops.

Quanto a uma possível solução para alguns desses casos: Em um caso semelhante, acabei usando o WMIC como uma alternativa.

A chamada usada anteriormente foi

tasklist /T /F /FI \"WINDOWTITLE eq Some window title\"

E foi substituído por

wmic process where "commandline like '%%some command line%%' and name like '%%filename%%'" list

Observe, porém, que o WMIC não pode filtrar com base no título da janela ou na conta de usuário que está executando o processo. No meu caso, o aplicativo tinha uma combinação única de arquivo executável e linha de comando que poderia ser usada para filtragem, mas isso não acontecerá em todas essas situações, portanto, essa alternativa não será utilizável para todos os casos.

    
por 06.08.2018 / 15:35