none
アクセス権/所有権を有しないファイル/フォルダのアクセス権一覧の取得 RRS feed

  • 質問

  • Windows Server 2008のファイルサーバーからWindows Server 2012のファイルサーバーへデータの移行を実施しています。(同一ドメイン環境での移行)

    移行で使用するアカウントはBackup Operatorsグループに所属させているためアクセス権/所有権の有無にかかわらずデータのコピーは実施できるのですが、コピーの完全性を確認するためにGet-ChildItemおよびGet-ACLコマンドレットで双方のファイル/フォルダの一覧と付与されているアクセス権一覧を取得しようとしているのですが、コマンドレット実行アカウントに参照権限が無いフォルダ/ファイルのアクセス権が取得できません。

    アクセス権/所有権を有しないファイル/フォルダのアクセス権の情報を取得する方法はありますでしょうか?

    移行およびコマンドレットの実行アカウントに付与している権限

     Domain Admins

     Backup Operators

    2018年2月7日 1:00

回答

  • チャブーンです。

    この件ですが、「アクセス権・所有権がないファイルのアクセス許可情報を直接取得する」を実現する方法はない、と思います。リクツ上、ファイルのアクセス許可を読む権限は独立していて、それがないのにその権利を行使する、ということが矛盾するからです。

    普通はそうならないよう、「どのファイルでもアクセス許可を持つアカウント」をアクセス許可にいれるものですが、どうしてもそうできない、ということでしたら、PowershellならGet-ChildItemでとれる各ファイルの「length(サイズ)」と「LastWriteTime(最終更新時刻)」プロパティで正誤をチェックする、という方法になるかと思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2018年2月7日 4:25
    モデレータ

すべての返信

  • チャブーンです。

    この件ですが、「アクセス権・所有権がないファイルのアクセス許可情報を直接取得する」を実現する方法はない、と思います。リクツ上、ファイルのアクセス許可を読む権限は独立していて、それがないのにその権利を行使する、ということが矛盾するからです。

    普通はそうならないよう、「どのファイルでもアクセス許可を持つアカウント」をアクセス許可にいれるものですが、どうしてもそうできない、ということでしたら、PowershellならGet-ChildItemでとれる各ファイルの「length(サイズ)」と「LastWriteTime(最終更新時刻)」プロパティで正誤をチェックする、という方法になるかと思います。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2018年2月7日 4:25
    モデレータ
  • チャブーン様

    ご回答ありがとうございます。
    仰せの通りで、出来てしまっては問題になりそうなことではあるものの、Backup Operators権限があればファイルのコピー(アクセス権付)が可能だったので何か方法があるのでは?と考えた次第でした。

    Get-ChilditemやGet-ACLまたdirやicaclsのコマンドをrobocopyのようにバックアップモードで実行してアクセス権取得 なんてことが出来ればと夢を見ていましたが、難しそうですね。。。

    2018年2月7日 7:47