The*_*Woo 0 export-to-csv powershell-3.0
我有以下代码,从根路径导出CSV文件的文件夹权限:
$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
}
}
Run Code Online (Sandbox Code Playgroud)
输出文件的列标题为"Folder Path"和"IdentityReference",因为我想在多个根路径上运行此脚本,有没有办法摆脱那些列标题与输出一起发送到CSV文件?
小智 6
我知道这是一篇很老的帖子并且已经得到了回答,但是认为这可能对其他人有帮助.
我当时想做类似的事情,但不想把输出写入文件,读取,然后重写.所以我这样做了:
Your_Data_In_Pipe | ConvertTo-Csv -NoTypeInformation | select -Skip 1 | Set-Content File_Without_Headers.csv
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您可以做的就是使用Export-CSV该-Append标志运行,包括第一次
Your_Data_In_Pipe | Export-Csv Your_File.csv -Append -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
如果您确实想删除 CSV 文件的第一行,可以使用:
Get-Content Your_File.csv | select -Skip 1 | Set-Content Your_FileBis.csv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17971 次 |
| 最近记录: |