2014-06-12 140 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

謝謝,這個作品 –