Jak otworzyć GUI za pomocą PsExec?

5

Mam dwa komputery A i B. Na obu komputerach są dwa konta administratora, 1 i 2, z własnymi hasłami. Gdy użytkownik 1 jest zalogowany na komputerze A, czy możliwe jest, aby użytkownik 2 na komputerze B otworzył przeglądarkę internetową na A \ 1? Próbowałem tego:

psexec \\A cmd /c start chrome "google.com"

Myślę, że problem polega na tym, że jest uruchamiany przez użytkownika 2, a nie użytkownika 1. Próbowałem również z -iopcją -flag bez powodzenia. Ponieważ użytkownik 2 jest również administratorem na komputerze A, powinien istnieć sposób. Przez pisanie

start chrome "google.com"

i umieszczenie tego w folderze startowym i wydanie polecenia zamknięcia na komputerze A działałoby. Ale ponieważ użytkownik 2 ma dostęp do folderu startowego, powinien mieć dostęp do uruchamiania przeglądarki jako użytkownik 2 w pierwszej kolejności.

Wszystko, co próbuję zrobić, to otworzyć przeglądarkę internetową na komputerze A z komputera B, gdy użytkownik 1 jest zalogowany na komputerze A.

Przyjaciel Kim
źródło
wypróbuj przełącznik -i. zgodnie z dokumentem, umożliwia interakcję polecenia z pulpitem. Niektóre aplikacje mogą być kontrolowane przez CLI podczas wyświetlania na pulpicie, pod warunkiem, że działają pod tym samym loginem. nie mam pojęcia, czy chrom jest jednym z nich.
Frank Thomas
@FrankThomas Już próbowałem -i. Czy problem może polegać na tym, że wydajesz polecenie jako użytkownik 2, podczas gdy użytkownik zalogowany do systemu Windows to użytkownik 1?
Przyjaciel Kim
tak, muszą być uruchomione na tym samym koncie, jeśli masz nadzieję, że sesje będą współdziałać.
Frank Thomas
To w pewnym sensie ma sens, ale nie ma sensu, że konto administratora i tak nie może tego zrobić. Administrator może umieścić start chrome "google.com"plik .bat i dodać go do folderu startowego. Następnie może ponownie uruchomić komputer i program się uruchomi.
Przyjaciel Kim

Odpowiedzi:

4

Miałem podobną sytuację, w której musieliśmy zaktualizować, a następnie zdalnie uruchomić prezentację PowerPoint. Próbowałem dong to z psexec i nigdy nie zadziałało. Skończyło się na tym, że utworzyłem skrypt, który tworzy zadanie harmonogramu na komputerze docelowym działającym na zalogowanym koncie użytkownika. Oto przykład ważnej części skryptu (w PowerShell)

schtasks /create /s $targetComp /tn ppt /sc once /st $time /f /tr "'$targetComp' /s 'C:\Temp\$file'" /ru USER /rp USERPASS
schtasks /run /s $targetComp /tn ppt 
schtasks /delete /s $targetComp /tn ppt /f
shinjijai
źródło
Ahh, więc musisz wprowadzić hasło użytkownika 1? Regularnie zmieniamy hasła. Czy muszę ponownie tworzyć zadanie za każdym razem, gdy zmienia się hasło?
Przyjaciel Kim
To tworzy zadanie, uruchamia je, a następnie usuwa. Musisz więc tylko aktualizować hasło za każdym razem, gdy się zmienia. Po wykonaniu zadania nie ma w harmonogramie.
shinjijai
Oczywiście .. Nie korzystałem z PowerShell. Zwykle używam Linuksa i znam tylko podstawy „Windowsa”. Jeśli nikt nie wymyśli czystego rozwiązania, zaakceptuję twoją odpowiedź! Z pewnością działa, ale jest to rodzaj włamania.
Przyjaciel Kim