Powershell正在替换从选择对象返回的部分字段

Powershell正在替换从选择对象返回的部分字段,powershell,Powershell,我从Active Directory中提取字段并将其传输到.csv文件中,我的Select Object命令将按名称返回字段。我的问题是,其中一些字段包含回车符和换行符信息,我想在将其导入.csv之前将其删除 例如: Select-Object SamAccountName,displayName,info | ConvertTo-CSV -NoTypeInformation | Out-File -Append -FilePath $Filepath -Encoding unicode 在

我从Active Directory中提取字段并将其传输到.csv文件中,我的Select Object命令将按名称返回字段。我的问题是,其中一些字段包含回车符和换行符信息,我想在将其导入.csv之前将其删除

例如:

Select-Object SamAccountName,displayName,info | ConvertTo-CSV -NoTypeInformation | 
Out-File -Append -FilePath $Filepath -Encoding unicode
在将“info”字段激发到.csv之前,我如何拦截并修改它


谢谢。

您可以使用正则表达式删除回车符和换行符。请尝试下一个代码段:

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

嗨,Akim,谢谢你的回复。我不确定那里发生了什么,但我现在只得到一次作为输出的ÿþ-这是整个文档的新内容,而不是预期的3k行。对不起,我忘记添加
return$。立即尝试代码段,我仍然收到相同的输出。不用担心,尽管我已经求助于添加一行来操作完成的文件,以删除需要删除的信息。非常感谢你的帮助。