Schließen Sie einen Prozess in einer Remote-Sitzung ordnungsgemäß

Ich arbeite derzeit an einem kleinen PowerShell-Skript, um das Outlook-Profil eines Benutzers auf einem Remotecomputer zurückzusetzen.

Bevor die erforderlichen Profilfunktionen ausgeführt werden können, möchte ich überprüfen, ob Outlook bereits auf dem Remotecomputer ausgeführt wird, und, falls dies der Fall ist, ordnungsgemäß beenden. Ich möchte den Prozess nicht abbrechen, damit er die notwendigen Bereinigungen und Synchronisierungen vornimmt.

Wenn ich mit einem Administrator eine Verbindung zum Computer herstelle und die folgenden Befehle ausführe:

Enter-PSSession $remoteMachine
$outlookProcess = Get-Process outlook
$outlookProcess.CloseMainWindow()

Ich verstehe nur

False

als "Rückgabewert"

Den Prozess beenden mit:

Stop-Process $outlookProcess

funktioniert.

Der Prozess, mit dem ich das Schließen versuche, wurde nicht vom Administrator gestartet, mit dem ich eine Verbindung herstelle. Daher kann ich zunächst möglicherweise nicht in diesem Benutzerkontext manipulieren, aber wenn ich auf meinem lokalen Computer dasselbe tue (Prozess starten) Mit einem "normalen" Benutzer und anschließendem Verwenden von CloseMainWindow () mit einem Administrator-Benutzer wird der Prozess ohne Probleme geschlossen.

Meine Frage ist also, wie ich diesen Remote-Prozess ordnungsgemäß schließen würde.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage