ユーザーがコンピューター名を変更できるようにする必要があるC#アプリがあります。これはかなり特権的な操作です。ユーザーが管理者としてアプリを実行した場合にのみ機能させることができます(Windows 7、実行可能ファイルを右クリックして、[管理者として実行])。結構ですが、ユーザーは管理者なので、なぜ管理者として実行する必要があるのでしょうか。私はこれを数回試しました。ユーザー(管理者)がアプリケーションを正常に実行しようとすると、常に失敗します。「管理者として実行」として実行すると、常に機能します。
答えが「そのように機能するので、管理者であっても管理者として実行する必要があります」の場合、私の質問は、彼らが超重複した管理者権限で実行されているかどうかをどのように検出できるかです。私はこれを見つけましたが、ユーザーがAdministratorユーザーグループの一部であるかどうかを確認するだけです。これは、すでに指摘したように、十分ではありません(nullポインター例外をスローします)。
ここで何かが足りませんか?別の角度からアプローチする必要がありますか?