Я создаю скрипт для извлечения информации из одной системы и поместите ее в CSV для другой системы, чтобы вытащить ее. Однако я должен выполнить некоторую очистку данных. Я вытаскиваю userid из системы, и они выходят как dom \ userid. Для моей другой системы, чтобы использовать ее, я должен иметь только userid без dom. Я использовал приведенный ниже код для удаления dom, и это работает:PowerShell Замена текста в CSV
$csv = Import-Csv C:\Support\Broker.csv
$csv | %{ If ($_.LastConnectionUser -like "*DOM*") { $_.LastConnectionUser -replace 'DOM', '' } }
$csv | Export-Csv C:\Support\Broker.csv -NoTypeInformation -Force
Это оставляет меня с \ userid. Как только я добавить \ к замене строки, система уроды, потому что он пытается интерпретировать \ и не может сделать замену, так что я попытался следующие
$csv = Import-Csv C:\Support\Broker.csv
$csv | %{ If ($_.LastConnectionUser -like "*DOM*") { $_.LastConnectionUser -replace 'DOM`\', '' } }
$csv | Export-Csv C:\Support\Broker.csv -NoTypeInformation -Force
я получаю ту же ошибку
ERROR: Regular expression pattern is not valid: DOM_WFLD
\. broker.ps1 (24): ERROR: At Line: 24 char: 54 ERROR: + $csv | %{ If ($_.LastConnectionUser -like "*DOM*") { $_.LastConnectionUser -repl ... ERROR: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ERROR: + CategoryInfo : InvalidOperation: (DOM_WFLD
:String) [], RuntimeException ERROR: + FullyQualifiedErrorId : InvalidRegularExpression
Кажется, я не могу заставить это работать. У кого-нибудь есть идеи?