応答しないプロセスを閉じようとしましたが、最初に「プロセスの終了」をクリックした後、何も起こりませんでした。もう一度やり直したところ、今度は「アクセスが拒否されました」というウィンドウがポップアップしました。最終的にプロセスは終了しましたが、これは私に考えさせられました。
タスクマネージャーを管理者として実行した場合でも、この「アクセスが拒否されました」というメッセージが表示されますか?または、実際にはWindows 10はデフォルトでタスクマネージャーを管理者として実行します(ユーザーアカウントが管理者の場合)。さらに、管理者として実行するかどうかに違いはありますか?
この方法で管理者として実行します。
それとすることの間に顕著な違いは見られません Ctrl+Shift+Escape。
注:この質問はWindows 10(およびおそらく8/8.1)を対象としています。私はProを実行しています。また、UACを「通知しない」に設定しました。
Windows 10では、タスクマネージャーはデフォルトで管理者として実行されますか?
管理者アカウントから実行されている場合のみ。以下のベンNの答えは、これが実際にどのように実装されるかについての素晴らしい説明があります。
タスクマネージャーを管理者として実行した場合でも、この "アクセスが拒否されました"というメッセージが表示されますか?
はい。管理者でさえ終了が許可されていないプロセスはたくさんあります。さらに、存在しないタスクを終了しようとすると、このエラーメッセージが生成されます。
「アクセスが拒否されました」というメッセージが表示された理由が、タスクマネージャーが管理者として実行されていないためである場合、次のような非常に明確なメッセージが表示されます。
さらに、管理者として実行するかどうかに違いはありますか?
はい。ただし、表示するには、管理者以外のアカウントから実行する必要があります。
ちなみに、上記の動作はすべてWindows 8/8.1とまったく同じです。
既存の答えは非常に良いです。そのようなものが好きな人のために、いくつかの技術的な詳細を提供します。
Taskmgr.exe
(\Windows\System32
)は、タスクマネージャを呼び出すときに実行されるプログラムです。 16進エディタで調べたところ、その manifest が requestedExecutionLevel
をhighestAvailable
に設定していることがわかりました。つまり、ローカル管理者として実行している場合は、タスクマネージャで昇格する必要があります。 UACを最高レベルに設定し、Ctrl + Shift + Escを押してタスクマネージャーを起動すると、高度なプロンプトが表示されることを簡単に確認できます。 UACが最高レベルではない場合、タスクマネージャーは統合されたWindowsコンポーネントであるため、静かに昇格できます。つまり、はい、タスクマネージャーは可能な限りデフォルトで管理者として実行されます。
highestAvailable
(requireAdministrator
とは対照的)を使用すると、管理者以外のユーザーは昇格を求められることなくプログラムを実行できますが、管理者はプログラムから管理することはできません。
プログラムが昇格されて実行されているかどうかを確認する簡単な方法は、タスクマネージャの[詳細]タブでUAC仮想化列を有効にすることです。その列のプロセスのエントリが許可されていない場合に限り、昇格されます。 (管理プロセスを互換性リダイレクトすることはできません。)Sysinternals Process Explorer を使用して、そのプロセスに強力な特権があるかどうか(たとえば、SeSecurityPrivilege
)を確認することもできます。
一部のプロセスへのアクセスがまだ拒否されているという質問への回答として、Windowsには保護されたプロセスという概念があり、SYSTEM
として実行されているプロセスによっても、ユーザーモードからは絶対に変更できません。保護はカーネルによって実行されます。重要なシステムサービスだけがこの種の保護を取得します。そのようなプロセスの1つがcsrss
です。
このエラーメッセージの別の考えられる原因を発見しました。これは、「アクセスが拒否されました」のエラーのトラブルシューティングを行うときに確認することを考えたことはありません。
マイクロソフトは、Windows 8で始まる新しいリソース管理メカニズムを導入しました。システムのリソースの需要が高い場合、Windowsは、他のプロセスのためにリソースを解放するために、「一時停止」状態にするプロセスを選択する場合があります。中断されたプロセスは、システムが中断を解除するまで基本的にフリーズされます。これは、ユーザーがそのプロセスとの対話を開始することに応答して最も一般的に発生します。何らかの理由で、タスクマネージャーはこのメカニズムから免除されておらず、実際には特に予期しない動作があります。Windowsがtaskmgr.exeを中断状態にすると、その「更新速度」設定も、設定した内容から変更されます。 to、to 一時停止。ただし、プロセスが中断されていない場合、「更新速度」設定は元の値に復元されません-一時停止設定のままです!
タスクマネージャーの[更新速度]が一時停止に設定されている場合、[詳細]タブには実行されなくなったプロセスが表示されます。この場合、存在しないプロセスで「プロセスを終了」しようとすると、「アクセス拒否」エラーが発生します。 (短期)解決策*は、プロセスの終了を試みる前に、「更新速度」がNormalなどの別の値に設定されていることを確認することです。
*firstの場所で「Update Speed」設定がPausedに切り替わらないようにする長期的な解決策については(発生しますconstantly)...私はまだそれを探しています!