我正在查询使用PowerShell的域join的计算机列表如下:
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不等于计算机。
要么
我需要把CN的内容转换成一个string,但是没有“ 。
已经尝试过使用
$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
行,并从这些行中删除双引号。