Get shared folder permissions





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0
















Im quite new with powershell and I need to do a shared folders permission report. I've the following code:

$path = \servershared_folder
dir $path | where { $_.PsIsContainer } | % { $path1 = $_.fullname; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


But the output is:




\servershared_folderfolder1;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


\servershared_folderfolder2;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


I need the following output:




\servershared_folder;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags




Why is doing the "dir" recursiveley if I do not specify it? If I am specifying where im telling to do so?










share|improve this question





























    0
















    Im quite new with powershell and I need to do a shared folders permission report. I've the following code:

    $path = \servershared_folder
    dir $path | where { $_.PsIsContainer } | % { $path1 = $_.fullname; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


    But the output is:




    \servershared_folderfolder1;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


    \servershared_folderfolder2;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


    I need the following output:




    \servershared_folder;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags




    Why is doing the "dir" recursiveley if I do not specify it? If I am specifying where im telling to do so?










    share|improve this question

























      0












      0








      0









      Im quite new with powershell and I need to do a shared folders permission report. I've the following code:

      $path = \servershared_folder
      dir $path | where { $_.PsIsContainer } | % { $path1 = $_.fullname; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


      But the output is:




      \servershared_folderfolder1;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


      \servershared_folderfolder2;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


      I need the following output:




      \servershared_folder;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags




      Why is doing the "dir" recursiveley if I do not specify it? If I am specifying where im telling to do so?










      share|improve this question















      Im quite new with powershell and I need to do a shared folders permission report. I've the following code:

      $path = \servershared_folder
      dir $path | where { $_.PsIsContainer } | % { $path1 = $_.fullname; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


      But the output is:




      \servershared_folderfolder1;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


      \servershared_folderfolder2;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags


      I need the following output:




      \servershared_folder;FileSystemRights;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags




      Why is doing the "dir" recursiveley if I do not specify it? If I am specifying where im telling to do so?







      powershell






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 16 '18 at 12:49









      QuironQuiron

      149111




      149111
























          2 Answers
          2






          active

          oldest

          votes


















          1














          To get the exact answer you are asking for:



          $path = "\servershared_folder"
          dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Root; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


          Notice the "$_.Root" after the ForEach-Object (%). But in my opinion the following is better because this way you see the foldername under '.Application Data':



          $path = "\servershared_folder"
          dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Name; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


          Hope this helps, because your question is not very clear imo.






          share|improve this answer
























          • This output is better than mine. Thanks a lot! Let me try to wirte a better explanation...Given a shares list, I need a report of each share permissions (overall groups and rights), but not the children folders... Hope this explanation is clearer than first one... Sorry about my English :(

            – Quiron
            Nov 16 '18 at 13:28



















          0














          Also please do yourself a favour and write the code in PowerShell ISE and use the PowerShell StyleGuide guidelines:



          $path = "\servershared_folder"
          $shares = Get-ChildItem $path | Where-Object { $_.PsIsContainer }
          $data = foreach($share in $shares){
          $path = $share.Name
          $acls = Get-Acl $share.Fullname
          foreach($acl in $acls){
          $acl.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path -passthru
          }
          }
          $data | Export-Csv $reportpath


          This makes the code readable and makes it easier to troubleshoot or modify the code later on. This version does not output ChildItems of the folders inside the shared folder. Only the folders placed inside "servershared_folder".






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53338272%2fget-shared-folder-permissions%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            To get the exact answer you are asking for:



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Root; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Notice the "$_.Root" after the ForEach-Object (%). But in my opinion the following is better because this way you see the foldername under '.Application Data':



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Name; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Hope this helps, because your question is not very clear imo.






            share|improve this answer
























            • This output is better than mine. Thanks a lot! Let me try to wirte a better explanation...Given a shares list, I need a report of each share permissions (overall groups and rights), but not the children folders... Hope this explanation is clearer than first one... Sorry about my English :(

              – Quiron
              Nov 16 '18 at 13:28
















            1














            To get the exact answer you are asking for:



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Root; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Notice the "$_.Root" after the ForEach-Object (%). But in my opinion the following is better because this way you see the foldername under '.Application Data':



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Name; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Hope this helps, because your question is not very clear imo.






            share|improve this answer
























            • This output is better than mine. Thanks a lot! Let me try to wirte a better explanation...Given a shares list, I need a report of each share permissions (overall groups and rights), but not the children folders... Hope this explanation is clearer than first one... Sorry about my English :(

              – Quiron
              Nov 16 '18 at 13:28














            1












            1








            1







            To get the exact answer you are asking for:



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Root; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Notice the "$_.Root" after the ForEach-Object (%). But in my opinion the following is better because this way you see the foldername under '.Application Data':



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Name; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Hope this helps, because your question is not very clear imo.






            share|improve this answer













            To get the exact answer you are asking for:



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Root; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Notice the "$_.Root" after the ForEach-Object (%). But in my opinion the following is better because this way you see the foldername under '.Application Data':



            $path = "\servershared_folder"
            dir $path | where { $_.PsIsContainer } | % { $path1 = $_.Name; Get-Acl $_.Fullname | % { $_.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path1 -passthru }} | Export-Csv $reportpath


            Hope this helps, because your question is not very clear imo.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 16 '18 at 13:15









            Bernard MoeskopsBernard Moeskops

            35327




            35327













            • This output is better than mine. Thanks a lot! Let me try to wirte a better explanation...Given a shares list, I need a report of each share permissions (overall groups and rights), but not the children folders... Hope this explanation is clearer than first one... Sorry about my English :(

              – Quiron
              Nov 16 '18 at 13:28



















            • This output is better than mine. Thanks a lot! Let me try to wirte a better explanation...Given a shares list, I need a report of each share permissions (overall groups and rights), but not the children folders... Hope this explanation is clearer than first one... Sorry about my English :(

              – Quiron
              Nov 16 '18 at 13:28

















            This output is better than mine. Thanks a lot! Let me try to wirte a better explanation...Given a shares list, I need a report of each share permissions (overall groups and rights), but not the children folders... Hope this explanation is clearer than first one... Sorry about my English :(

            – Quiron
            Nov 16 '18 at 13:28





            This output is better than mine. Thanks a lot! Let me try to wirte a better explanation...Given a shares list, I need a report of each share permissions (overall groups and rights), but not the children folders... Hope this explanation is clearer than first one... Sorry about my English :(

            – Quiron
            Nov 16 '18 at 13:28













            0














            Also please do yourself a favour and write the code in PowerShell ISE and use the PowerShell StyleGuide guidelines:



            $path = "\servershared_folder"
            $shares = Get-ChildItem $path | Where-Object { $_.PsIsContainer }
            $data = foreach($share in $shares){
            $path = $share.Name
            $acls = Get-Acl $share.Fullname
            foreach($acl in $acls){
            $acl.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path -passthru
            }
            }
            $data | Export-Csv $reportpath


            This makes the code readable and makes it easier to troubleshoot or modify the code later on. This version does not output ChildItems of the folders inside the shared folder. Only the folders placed inside "servershared_folder".






            share|improve this answer




























              0














              Also please do yourself a favour and write the code in PowerShell ISE and use the PowerShell StyleGuide guidelines:



              $path = "\servershared_folder"
              $shares = Get-ChildItem $path | Where-Object { $_.PsIsContainer }
              $data = foreach($share in $shares){
              $path = $share.Name
              $acls = Get-Acl $share.Fullname
              foreach($acl in $acls){
              $acl.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path -passthru
              }
              }
              $data | Export-Csv $reportpath


              This makes the code readable and makes it easier to troubleshoot or modify the code later on. This version does not output ChildItems of the folders inside the shared folder. Only the folders placed inside "servershared_folder".






              share|improve this answer


























                0












                0








                0







                Also please do yourself a favour and write the code in PowerShell ISE and use the PowerShell StyleGuide guidelines:



                $path = "\servershared_folder"
                $shares = Get-ChildItem $path | Where-Object { $_.PsIsContainer }
                $data = foreach($share in $shares){
                $path = $share.Name
                $acls = Get-Acl $share.Fullname
                foreach($acl in $acls){
                $acl.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path -passthru
                }
                }
                $data | Export-Csv $reportpath


                This makes the code readable and makes it easier to troubleshoot or modify the code later on. This version does not output ChildItems of the folders inside the shared folder. Only the folders placed inside "servershared_folder".






                share|improve this answer













                Also please do yourself a favour and write the code in PowerShell ISE and use the PowerShell StyleGuide guidelines:



                $path = "\servershared_folder"
                $shares = Get-ChildItem $path | Where-Object { $_.PsIsContainer }
                $data = foreach($share in $shares){
                $path = $share.Name
                $acls = Get-Acl $share.Fullname
                foreach($acl in $acls){
                $acl.access | Add-Member -MemberType NoteProperty '.Application Data' -Value $path -passthru
                }
                }
                $data | Export-Csv $reportpath


                This makes the code readable and makes it easier to troubleshoot or modify the code later on. This version does not output ChildItems of the folders inside the shared folder. Only the folders placed inside "servershared_folder".







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 16 '18 at 13:41









                Bernard MoeskopsBernard Moeskops

                35327




                35327






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53338272%2fget-shared-folder-permissions%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Xamarin.iOS Cant Deploy on Iphone

                    Glorious Revolution

                    Dulmage-Mendelsohn matrix decomposition in Python