none
ActiveDirectoryのユーザーごとのグループとアクセス許可の一覧出力について RRS feed

  • 質問

  • ActiveDirectoryのユーザーごとの「グループ名またはユーザー名」とそれに紐付くそれぞれの「アクセス許可」の一覧を出力したいのですが、可能でしょうか。

    11/2追記

    ご回答いただいた方、ありがとうございました。

    提示した情報が少なく大変申し訳有りませんでした。

    一応お尋ねしたかったのは、

    ActiveDirectoryユーザーとコンピューター画面>画面左ツリーのUsers>各ユーザーのプロパティー>セキュリティタブ>上記質問内容

    の意味でした。結局目視で確認しながら一覧表を作成し、対処しました。

    少ない情報の中でもアドバイスくださり、ありがとうございました。

    • 編集済み Akane0704 2017年11月2日 3:58
    2017年10月30日 8:27

回答

  • チャブーンです。

    一応お尋ねしたかったのは、
    ActiveDirectoryユーザーとコンピューター画面>画面左ツリーのUsers>各ユーザーのプロパティー>セキュリティタブ>上記質問内容
    の意味でした。

    そういうことでしたら、dsacls.exeコマンドか、PowerShellで情報取得することはできます。今回はお役に立てませんでしたが、ご興味があれば、以下をご覧になってみてください。

    #Active Directoryモジュールの読み込み
    Import-Module ActiveDirectory
    
    #ユーザーオブジェクトの参照先OU
    $OUPath="CN=Users,DC=example,DC=com"
    $ADPath="AD:\" + $OUPath
    
    #対象オブジェクトの取得
    $ADObjects=Get-Childitem $ADPath
    
    #オブジェクトごとにACLを取得し、一覧を表示
    Foreach ($ADObject in $ADObjects) {
    	$ACLs=(Get-ACL $ADObject.PSPath).Access
    	Foreach ($ACL in $ACLs) {
    		$ACL|Select @{name="オブジェクト名";expression={$ADObject.Name}},@{name="グループ名またはユーザー名";expression={$ACL.IdentityReference}},@{name="許可または拒否";expression={$ACL.AccessControlType}},@{name="アクセス許可";expression={$ACL.ActiveDirectoryRights}}
    	}
    }


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


    2017年11月3日 10:44
    モデレータ

すべての返信

  • チャブーンです。

    ご質問の内容ですが、率直に申しあげて、ユーザーごとの「グループ名またはユーザー名」という項目はそもそもありませんし、紐付くそれぞれの「アクセス許可」についても、「何に対するアクセス許可なのか」(アクセス許可の主体)がわからないと、答えようがありません。

    ですから、うえの情報が何を指しているのかの具体例を示されたほうがいいと思います。「プロパティの○○の項目」や「○○のコマンド実行相当の動作」など、具体的にお願いしたいです。linuxコマンドであった場合も、そのまま書いたほうがわかりやすいでしょう。

    まさかとは思うのですが、whoami(現在ログオン中ユーザーのユーザーアクセストークン(特権)一覧を表示)が対象の場合、管理者が一元的にとることはできません。whoamiコマンドではログオン中のユーザーのアクセストークンを「動的に取得」するため、そのユーザーがログオンしている状態で、ユーザー自身が取得する必要があります。この情報は動的に変わるため、LDAP等に記録されることはありませんので、他者がとる方法はないわけです。

    したがって、「何が何でも情報を取りたい」のなら、ユーザーがログオン時にユーザー権限で実行される「ログオンスクリプト」でwhoamiを実行させ、結果をテキストファイルにエクスポートさせてどこかに集め、それを整形する、といった、かなり面倒な作り込みを行う必要があると思います。


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


    2017年11月1日 2:41
    モデレータ
  • やきです。

    もし取得したいのが「ドメインユーザー名」「そのユーザが所属している、このドメインで管理してるグループ」であれば以下のPowershellコマンドで確認ができます。

    Get-ADUser -Property MemberOf | fl

    ただしこの場合 whoami /groups で表示されるような、ローカルグループはわかりません。

    2017年11月1日 4:55
  • チャブーンです。

    一応お尋ねしたかったのは、
    ActiveDirectoryユーザーとコンピューター画面>画面左ツリーのUsers>各ユーザーのプロパティー>セキュリティタブ>上記質問内容
    の意味でした。

    そういうことでしたら、dsacls.exeコマンドか、PowerShellで情報取得することはできます。今回はお役に立てませんでしたが、ご興味があれば、以下をご覧になってみてください。

    #Active Directoryモジュールの読み込み
    Import-Module ActiveDirectory
    
    #ユーザーオブジェクトの参照先OU
    $OUPath="CN=Users,DC=example,DC=com"
    $ADPath="AD:\" + $OUPath
    
    #対象オブジェクトの取得
    $ADObjects=Get-Childitem $ADPath
    
    #オブジェクトごとにACLを取得し、一覧を表示
    Foreach ($ADObject in $ADObjects) {
    	$ACLs=(Get-ACL $ADObject.PSPath).Access
    	Foreach ($ACL in $ACLs) {
    		$ACL|Select @{name="オブジェクト名";expression={$ADObject.Name}},@{name="グループ名またはユーザー名";expression={$ACL.IdentityReference}},@{name="許可または拒否";expression={$ACL.AccessControlType}},@{name="アクセス許可";expression={$ACL.ActiveDirectoryRights}}
    	}
    }


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


    2017年11月3日 10:44
    モデレータ
  • チャブーンです。

    一応お尋ねしたかったのは、
    ActiveDirectoryユーザーとコンピューター画面>画面左ツリーのUsers>各ユーザーのプロパティー>セキュリティタブ>上記質問内容
    の意味でした。

    そういうことでしたら、dsacls.exeコマンドか、PowerShellで情報取得することはできます。今回はお役に立てませんでしたが、ご興味があれば、以下をご覧になってみてください。

    #Active Directoryモジュールの読み込み
    Import-Module ActiveDirectory
    
    #ユーザーオブジェクトの参照先OU
    $OUPath="CN=Users,DC=example,DC=com"
    $ADPath="AD:\" + $OUPath
    
    #対象オブジェクトの取得
    $ADObjects=Get-Childitem $ADPath
    
    #オブジェクトごとにACLを取得し、一覧を表示
    Foreach ($ADObject in $ADObjects) {
    	$ACLs=(Get-ACL $ADObject.PSPath).Access
    	Foreach ($ACL in $ACLs) {
    		$ACL|Select @{name="オブジェクト名";expression={$ADObject.Name}},@{name="グループ名またはユーザー名";expression={$ACL.IdentityReference}},@{name="許可または拒否";expression={$ACL.AccessControlType}},@{name="アクセス許可";expression={$ACL.ActiveDirectoryRights}}
    	}
    }


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


    大変参考になりました。

    ご回答ありがとうございました。

    2017年11月8日 1:24