Windows: プログラムでの管理者権限判別時はビルトイン Administrator も考慮する必要あり
Windows のプログラムを書いていて、管理者権限で実行されているかを判別したいことがあります。素直にセットアップされた Windows でユーザー起動プログラムが管理者権限の必要な処理を行うためにはプログラム=プロセスに割り当てられた権限が昇格されている必要があります(昇格操作は一般的にはユーザーによる UAC 確認ダイアログの操作によって行われますが、確認操作を要求しない環境もあります)。昇格の確認は次の手順で可能です。プログラムのプロセスに割り当てられているアクセストークンを取得アクセストークンの昇格種別を取得、昇格されているかを確認しかし稀に管理者権限の必要な操作はできるのに上記の手順だと昇格されていないと判別されるサインインアカウントがあります。ビルトイン(=ローカル)の Administrator アカウントがそれです。…









