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.