当我运行 Get-ADComputer cmdlet 时,我可以查看所有单个对象的属性,如下所示。
C:\PS>Get-ADComputer "Fabrikam-SRV1" -Properties *
AccountExpirationDate :
accountExpires : 9223372036854775807
AccountLockoutTime :
AccountNotDelegated : False
AllowReversiblePasswordEncryption : False
BadLogonCount :
CannotChangePassword : False
CanonicalName : Fabrikam.com/Computers/fabrikam-srv1
然后我可以过滤在输出中显示的属性。是否可以获取文件(txt 或 csv)中计算机对象列表的所有属性,然后过滤所需的属性?
像这样Get-ADComputer -Computer (Get-Content -Path .\computers.txt) | Select CanonicalName,CN,DistinguishedName
答案1
是否可以获取文件(txt 或 csv)中计算机对象列表的所有属性,然后过滤所需的属性?
是的。假设文件computers.txt
每行仅包含一个计算机名称。
Get-Content computers.txt |
Get-ADComputer -Properties * |
Select-Object CanonicalName, CN, DistinguishedName
此外,您可以跳过-Properties *
(如果处理多台计算机,速度可能会很慢),只需选择除默认属性之外要检索的属性即可。 包含DistinguishedName
在默认集合中。
Get-ADComputer -Properties CanonicalName, CN
如果你有 CSV,你需要确定哪个列或标题名称包含计算机名称。如果您提供示例格式的 CSV,我会更新我的答案。