現在、リモート マシンでユーザーの Outlook プロファイルをリセットする小さな PowerShell スクリプトに取り組んでいます。
必要なプロファイル処理を行う前に、リモート マシンで Outlook が既に実行されているかどうかを確認し、実行されている場合は正常に停止します。必要なクリーンアップと同期を実行できるように、プロセスを強制終了したくありません。
管理ユーザーでマシンに接続し、次のコマンドを実行すると:
Enter-PSSession $remoteMachine
$outlookProcess = Get-Process outlook
$outlookProcess.CloseMainWindow()
私は得るだけ
False
「戻り値」として
次の方法でプロセスを強制終了します。
Stop-Process $outlookProcess
動作します。
閉じようとしているプロセスは、接続している管理ユーザーによって開始されていないため、最初は、このユーザーのコンテキストで操作することは許可されていないのではないかと思いましたが、ローカルマシンで同じことを行うと (プロセスの開始「通常の」ユーザーで、次に管理ユーザーで CloseMainWindow() を使用すると、問題なくプロセスが閉じられます。
私の質問は、このリモート プロセスを適切に閉じるにはどうすればよいかということです。