WIndows PowerShell Scripting

Posted on 2010-11-08
Last Modified: 2012-05-10
I am trying to get all the security groups attached to specific Shared folders on my Windows 2008 File Server. I have all of the share paths that I want in an excel spreadsheet.I would like to be able to just plug in all the path locations for the folders/shares and incorporate this powershell cmd to get a full listing of all 900 shares.

Get-Acl -Path D:\Data | Format-List accessToString | Out-File -FilePath c:\GroupShareAccess.txt -Append

Does anyone know how I can script this cmd instead of having to use it on each individual path location ?
Question by:sodapop7
  • 2

Accepted Solution

daveTechSearch earned 300 total points
ID: 34085962
To continue with what you have. First, I'd change the xls file to a csv so it can be easily read in by Powershell
get-content c:\get-acl.csv | foreach { get-acl -path $_ | format-list accessToString} |
    Out-File -FilePath c:\GroupShareAccess.txt -Append
LVL 27

Assisted Solution

KenMcF earned 200 total points
ID: 34085974
You can try this. Just save the column to a text file.

$shares = get-content c:\shares.txt
Foreach ($share in $shares){
Get-Acl -Path $share | Format-List accessToString | Out-File -FilePath c:\GroupShareAccess.txt -Append

Author Closing Comment

ID: 34086923
Thank a lot. This solved my issue. Both solutions worked for me. I just have one more question. Is there a way to include the path along with the security information that this script spits out ?

Expert Comment

ID: 34087113
you can do something like this for including the path

$shares = get-content c:\get-acl.csv 
$shareACLs = "c:\shareACLs.csv"

@(foreach ($share in $shares)
    $share | 
    select  @{Name='ShareDir';Expression={[string]($share)}},@{Name='accessToString';Expression={get-acl $share | select accessToString}}
    }) |
    export-csv $shareACLs -notype

Open in new window


Featured Post

Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Utilizing an array to gracefully append to a list of EmailAddresses
The following article is intended as a guide to using PowerShell as a more versatile and reliable form of application detection in SCCM.
To efficiently enable the rotation of USB drives for backups, storage pools need to be created. This way no matter which USB drive is installed, the backups will successfully write without any administrative intervention. Multiple USB devices need t…
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question