我正在从Active Directory中提取字段并将其传输到.csv文件中,My Select-Object命令按名称返回字段。我的问题是这些字段中的一些包含回车符和换行信息,我想在将其导入.csv之前删除
示例:
Select-Object SamAccountName,displayName,info | ConvertTo-CSV -NoTypeInformation |
Out-File -Append -FilePath $Filepath -Encoding unicode
如何在将'info'字段发送到.csv之前拦截并修改'info'字段?
感谢。
答案 0 :(得分:3)
您可以使用正则表达式删除回车符和换行符。尝试下一个片段:
Select-Object -property SamAccountName, DisplayName, Info |
% {
$_.SamAccountName = [regex]::Replace($_.SamAccountName, "(`n|`r)+"," ", "Multiline");
$_.DisplayName= [regex]::Replace($_.DisplayName, "(`n|`r)+"," ", "Multiline");
$_.Info = [regex]::Replace($_.Info, "(`n|`r)+"," ", "Multiline");
return $_;
} |
ConvertTo-CSV -NoTypeInformation |
Out-File -Append -FilePath $Filepath -Encoding unicode