心のぼやき

心のぼやき

Get-Aclで取得したファイル・フォルダのアクセス権(FileSystemRights)が、数字表記される

Get-Aclで取得したファイル・フォルダのアクセス権(FileSystemRights)が、数字表記される場合があります。 (“FullControl"とかではなく、"2147483648"とか表記されるものがある)

f:id:yamatetsu020752:20170917130207p:plain

数字で表記されるのはなぜかというと、
システム側でファイルやフォルダのアクセスマスク(32ビット、2進数)
に、上位ビット(Generic Access Mask)を設定しているためのようです。
アクセスマスクについては、下記リンクをご参照ください。



Get-aclコマンドレットでは、
FilesystemRightsプロパティを参照します。


FileSystemRightsプロパティは、
上記リンク中のアクセスフォーマットにおける、
下位ビット(Standard Access Rights と Object-Specific Access Rights)
の設定値のみ、対応する文字列(“FullControl"など)にして出力しています。


よって、上位ビット(Generic Access Mask)が存在する場合は対応する文字列がないため、
32ビットのアクセスマスクを10進数にした値を返します。


上位ビット(Generic Access Mask)に変更を加えるのは、
GUIからできなそうなので、調査・説明を割愛します。 Creator Owner に付いているので、
システム側で自動設定してそうな気がします。


使い所は「?」ですが、諸々あり、
Get-Aclで取得したファイル・フォルダのアクセス権が数字表記された場合に、
対応するアクセス権に変換するスクリプトを作成してみました。
第一引数に出力された10進数を入れると、対応するアクセス権限を表示します。

qiita.com

参考URL全て

おわり