Назад | Перейти на главную страницу

Удалить "из содержимого файла

Я запрашиваю список подключенных к домену компьютеров с помощью PowerShell, как показано ниже:

dsquery.exe computer > "C:\testfolder\host.txt"

Вывод работает, как ожидалось, но как показано ниже:

"CN=WIN-20CCF3DC8D,OU=Domain Controllers,DC=hosting,DC=xyz,DC=com"
"CN=WIN-20XYS8CM7D,OU=Computers,DC=hosting,DC=xyz,DC=com"

Здесь мне нужно сделать следующее.

Либо:

Мне нужно отредактировать этот файл (используя PowerShell): удалить все " удалите все записи, в которых OU не равно Computers.

Или

Мне нужно получить содержимое CN в строку, но без ".

Пробовали использовать

$contents = Get-Content C:\testfolder\host.txt | Foreach-Object {$_ -replace '"', ""}

но, похоже, не работает. Может ли кто-нибудь помочь мне в этом?

Это должно работать:

$contents = Get-Content C:\testfolder\host.txt | where { $_ -match "OU=Computers" } | Foreach-Object {$_ -replace '"', ""}

затем echo $contents дает:

CN=WIN-20XYS8CM7D,OU=Computers,DC=hosting,DC=xyz,DC=com

Это возвращает только строки, содержащие OU=Computers и удаляет двойные кавычки из этих строк.