Mengapa hasil daftar tugas berbeda ketika dijalankan secara lokal vs melebihi ssh

1

Saya memiliki pengaturan kotak windows dengan cygwin dan server ssh yang telah bekerja dengan baik, namun hari ini saya menemukan sebuah perintah yang saya coba gunakan yang mengembalikan hasil yang berbeda berdasarkan apakah itu digunakan secara lokal atau lebih dari ssh.

Pertama, kami memiliki hasil menjalankannya lebih dari ssh ...

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

Sekarang kita menjalankan perintah yang sama secara lokal pada 10.13.7.210 dan menerima hasil ini ...

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

Adakah yang tahu mengapa ini menghasilkan hasil yang berbeda?

EEP
sumber
Hampir pasti ya, tetapi hanya untuk memastikan, apakah Anda menjalankan perintah sebagai pengguna yang sama di sesi lokal?
Costa
Ya, ini dijalankan sebagai pengguna yang sama di kedua situasi.
EEP
coba dengan 'CMD / C' sebelum perintah daftar tugas Anda, jalankan juga 'whoami' alih-alih daftar tugas dan lihat apa yang dikatakannya
golimar
@EEP Saya mengalami masalah yang sama, apakah Anda menemukan solusi atau solusi sejak itu?
zovits

Jawaban:

0

Penyebab perbedaan dikatakan sebagai mekanisme keamanan di Windows di mana sesi pengguna diperlakukan secara terpisah. Akun pengguna yang sama dengan masuk secara lokal dan melalui SSH membuat dua sesi berbeda, dan karenanya tidak ada judul jendela yang terlihat di antara sesi-sesi ini.

Menurut balasan dukungan dari Bitvise SSH Server:

Masuk akal ini tidak akan bekerja lintas sesi karena desktop dari login yang berbeda seharusnya diisolasi satu sama lain. Jika ini berfungsi pada FreeSSHD, tampaknya mungkin meluncurkan proses di desktop yang sama.

[...]

Saya tidak melihat bagaimana kita dapat membuat judul jendela dapat diakses di seluruh sesi Windows. Windows mencegah itu, ada batas keamanan antara desktop.


Adapun solusi yang mungkin untuk beberapa kasus ini: Dalam kasus serupa saya akhirnya menggunakan WMIC sebagai alternatif.

Panggilan yang sebelumnya digunakan adalah

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

Dan itu diganti oleh

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

Perhatikan bahwa WMIC tidak dapat memfilter berdasarkan judul jendela atau akun pengguna yang menjalankan proses. Dalam kasus saya, aplikasi memiliki kombinasi unik dari file yang dapat dieksekusi dan baris perintah yang dapat digunakan untuk menyaring tetapi ini tidak akan terjadi dalam semua situasi seperti itu sehingga alternatif ini tidak akan dapat digunakan untuk semua kasus.

zovits
sumber
(1) Tolong tunjukkan baris perintah untuk daftar tugas; yaitu, jawab pertanyaannya. (2) Apakah wmicmendukung penyaringan pada nama pengguna (yaitu, tentang apa pertanyaannya)? ... ... ... ... ... ... ... ... ... ... ... ... ... ... Mohon jangan merespons dalam komentar; edit jawaban Anda untuk membuatnya lebih jelas dan lebih lengkap.
Scott
@Scott Selesai, setidaknya AFAIK.
zovits