Powershell - 从Text / CSV导入路径列表,Get-ACL然后导出到Text / CSV

时间:2015-10-12 11:45:47

标签: powershell csv import export

下午好。

我对Powershell很新,所以请原谅我的无知。

我正在尝试在文本文档中的服务器路径列表上运行Get-ACL,这样我就可以获得具有权限的AD帐户/组列表以及每个文件夹路径的权限级别。然后我需要它将此信息导出为CSV或文本文件。我在这里经历了大量的脚本,并试图调整它们以满足我的特定需求,但我仍然遇到麻烦。我目前正试图调整这个,但我不确定我哪里出错了;

$FullList = Get-Content "C:\ShareList.txt"

$DataOutFile = "C:\PermissionInformation.txt"

Foreach ($Folder in $FullList)
{
    $ACLs = get-acl $Folder | ForEach-Object { $_.Access }

    Foreach ($ACL in $ACLs)
    {
        $DataOutInfo = $Folder.FullName + ":" + $ACL.IdentityReference
        Add-Content -Value $DataOutInfo -Path $DataOutFile
    }
}

源列表“ShareList.txt”的格式如下;

\\phttest\Testing$\Test1
\\phttest\Testing$\Test2
\\phttest\Testing$\Test3    

脚本运行并且似乎没有出错,但是当我检查输出文件时它没有输入,它完全为空。

我还尝试了一个使用CSV的更简单的变体;

源文件是ShareList.csv

Folder,
\\phttest\Testing$\Test1
\\phttest\Testing$\Test2
\\phttest\Testing$\Test3

脚本;

$FilePath = "C:\ShareList.csv"
$List = Import-CSV $FilePath
foreach($Folder in $List)
{
Get-ACL $Folder | ForEach-Object
}

我收到以下消息: 命令管道位置2处的cmdlet ForEach-Object 提供以下参数的值: 过程[0]:

我一直在努力让弗兰肯斯坦成为一个有效的剧本,但到目前为止我似乎已经围成一圈,任何帮助都会非常感激。

山姆

1 个答案:

答案 0 :(得分:0)

试试这个,在CSV标题中单词“Folder”后面省略逗号:

letters.length

<强>更新

根据您的评论,这是下一个猜测。试试这个:

for