そういえば、Administrators に所属するか調査する方法 で “Administrators” group に所属しているか否かで判断するのはやめるべきだとは書きましたが、明確な理由を書いていなかったので。
その最大の理由は委任ができなくなることです。
Secure OS の基本的な考えですが、管理者が全権を持ってはいけないという考え方があります。
そういう状況を想定してみてください。Application 側で “Administrators” group に所属していることを前提とした coding を行った場合、その処理を “Administrators” group に所属していない user では実行できなくなります。
“Administrators” group に所属させたくないが、特定の機能をある user には実行させたいという要件は、ごく自然に発生します。というのは、本当の全権を与えるということはどんな監査すら意味なくする権限を有するということですから。
制限かけるならば、built-in group ではなく、SQL Server のような専用の group を作成し利用するべきでしょう。もしくは、柔軟な制御はできなくなりますが、role-base access control を利用する方法もあります。
管理者のみ実行可能というのは非常にわかりやすいので、思わずそれで制限を掛けてしまいたくなりますが正直この方法はとるべきではないと思います。