Delete "de um conteúdo de arquivo

1

Estou consultando a lista de computadores que fazem parte do domínio usando o powershell, conforme abaixo:

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

A saída está funcionando como esperado, mas é mostrada abaixo:

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

Aqui eu preciso do seguinte para fazer.

Ou:

Eu preciso editar esse arquivo (usando o powershell): remover todos os caracteres ", remover todas as entradas em que OU não seja igual a Computers.

Ou

Eu preciso de obter o conteúdo do CN para uma string, mas sem ".

Já tentou usar

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

mas não parece estar funcionando. Alguém por favor pode me ajudar nisso?

    
por serverstackqns 01.06.2015 / 12:51

1 resposta

1

Isso deve funcionar:

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

Então echo $contents dá:

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

Isso retorna apenas linhas contendo OU=Computers e remove aspas duplas dessas linhas.

    
por 01.06.2015 / 13:09