我正在使用 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 不等于计算机的条目。
或者
我需要将 CN 的内容转换为字符串,但没有“。
尝试过使用
$contents = Get-Content C:\testfolder\host.txt | Foreach-Object {$_ -replace '"', ""}
但似乎不起作用。有人能帮我吗?
答案1
这应该有效:
$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
并从这些行中删除双引号。