Z wdziękiem zamknięcie procesu w zdalnej sesji
Obecnie pracuję nad małym skryptem PowerShell, aby zresetować profil programu Outlook użytkownika na komputerze zdalnym.
Zanim będzie można wykonać niezbędne czynności związane z profilem, chcę sprawdzić, czy program Outlook jest już uruchomiony na komputerze zdalnym, a jeśli tak, zatrzymaj go z wdziękiem. Nie chcę zabijać procesu, aby mógł dokonać niezbędnego czyszczenia i synchronizacji.
Kiedy łączę się z komputerem z użytkownikiem administracyjnym i wykonuję następujące polecenia:
Enter-PSSession $remoteMachine
$outlookProcess = Get-Process outlook
$outlookProcess.CloseMainWindow()
Ja się zdobywam
False
jako „wartość zwrotna”
Zabijanie procesu za pomocą:
Stop-Process $outlookProcess
Prace.
Proces im próbujący zamknąć nie został uruchomiony przez użytkownika administracyjnego, z którym się łączy, więc na początku mogę powiedzieć, że nie wolno mi manipulować w tym kontekście użytkowników, ale jeśli zrobię to samo na moim komputerze lokalnym (Rozpoczęcie procesu z „normalnym” użytkownikiem, a następnie za pomocą CloseMainWindow () z użytkownikiem administracyjnym) zamyka proces bez żadnych problemów.
Więc moje pytanie brzmi: w jaki sposób mogę bezpiecznie zamknąć ten zdalny proces?