使用Active Directory导出脚本。目前,该脚本可以轻松地将给定组中的用户对象作为完全限定名称导出到.txt文件中(即,而不是报告为“用户名”,您会得到丑陋的“CN = username,OU = foo,OU = bar,DC = FOO,DC =栏“)。
我的Powershell经验充其量只是新手。到目前为止我得到了什么:
将这些内容写入第二个文本文件。
生成的文本文件如下所示:
"CN=username
OU=foo
OU=bar
DC=foo
DC=bar"
我的目标:
到目前为止我所拥有的:
$a = (Get-Content c:\test.txt | foreach-Object {$_.split(",,") })
Out-File c:\results.txt -inputObject $a
我完全迷失了如何搜索带有通配符的模式的文本文件(即搜索包含“CN = *并保留这些行和那些行的任何行)的文本”然后将结果粘贴到.TXT。
非常感谢你提供的任何和所有指导。
答案 0 :(得分:3)
Select-String
会允许这样做。它对PowerShell来说有点grep
。
但是,如果我理解正确,你可以用
轻松一点$a = (Get-Content c:\test.txt | foreach-Object {$_.split(",,") }) -match '^CN='
比较运算符可以应用于对象列表,只返回匹配项。
答案 1 :(得分:1)
也许还要查看Quest AD cmdlets并将其用作导出脚本。这样,您可以精确选择所需的属性,而无需过滤文本文件的输出,例如
Get-QADUser -Searchroot foo.bar/MyOu | Select Name, DisplayName, email