2014-06-12 72 views
0

我有以下的代码,出口到CSV从根路径文件的文件夹权限:PowerShell中删除列标题

$RootPath = "\\R9N2WRN\Test Folder" 
$OutFile = "C:\CodeOutput\Permissions.csv" 
$Header = "Folder Path,IdentityReference" 
Del $OutFile 
Add-Content -Value $Header -Path $OutFile 

$Folders = dir $RootPath -recurse | where {$_.psiscontainer -eq $true} 
foreach ($Folder in $Folders) 
{ 
    $ACLs = get-acl $Folder.fullname | 
    ForEach-Object { $_.Access } | 
    Where {$_.IdentityReference -notlike "*BUILTIN*" -and $_.IdentityReference -notlike "*NT AUTHORITY*"} 
    Foreach ($ACL in $ACLs) 
     { 
     $OutInfo = $Folder.Fullname + "," + $ACL.IdentityReference 
     Add-Content -Value $OutInfo -Path $OutFile 
     } 
} 

的输出文件中的列标题“文件夹路径”和“的IdentityReference”,并因为我想在多个根路径上运行这个脚本,有没有办法摆脱这些列标题与输出发送到CSV文件?

回答

2

,你可以在你的情况做的事情是与-Append标志运行Export-CSV包括首次

Your_Data_In_Pipe | Export-Csv Your_File.csv -Append -NoTypeInformation 

如果你真的想删除您的CSV文件的第一行,你可以使用:

Get-Content Your_File.csv | select -Skip 1 | Set-Content Your_FileBis.csv 
4

我知道这是一个旧帖子,已被回复,但认为这可能对其他人有帮助。

我正在寻找类似的东西,但不想将输出写入文件,读取,然后重新写入。所以我代之以:

Your_Data_In_Pipe | ConvertTo-Csv -NoTypeInformation | select -Skip 1 | Set-Content File_Without_Headers.csv 
+0

谢谢,这个作品 –