1

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

例子:

Select-Object SamAccountName,displayName,info | ConvertTo-CSV -NoTypeInformation | 
Out-File -Append -FilePath $Filepath -Encoding unicode

如何在将“信息”字段触发到 .csv 之前拦截和修改它?

谢谢。

4

1 回答 1

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
于 2012-07-19T10:35:50.440 回答