スクリプトが「昇格した管理者権限」を要求するような場合、最初にチェックしたほうが親切かもしれない。
以下にそのサンプルがあったのでメモしておく。
Testing Administrator Privileges - Power Tips - PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
非常に短いコーディングでチェックできるので便利そう。
若干トリッキーなので仕掛けを解析しておくと、
まずネイティブなコマンドの「whoami /groups」を使って現在のユーザーが所属するグループを表示すると以下のような感じで返ってくる。
ここで、「昇格した管理者権限」に属する場合は以下のグループが存在するようだ。
これは、対話ログオンすると「INTERACTIVE」グループに動的に所属するのと同じパターンかな。
あとは「match」演算子を使って「昇格した管理者権限」の「SID」が含まれるか判定している。
配列に「match」演算子を使うとマッチした要素だけが抽出される。
PS>"ma","mb","mc" -match "b" |
あとはマッチしなければ何も返ってこない(null)しマッチすればマッチした文字列が返ってくるのを、「bool」にキャストしている。
0 件のコメント:
コメントを投稿