【发布时间】:2020-12-03 14:31:57
【问题描述】:
您好,提前感谢您的帮助! 如果满足特定条件,则希望删除 AD 中的计算机(工作站 OU)。
在继续删除之前,我需要确保它们具有共同的规范名称的“LOCATION”部分。如果它们不在我的位置,这可能是调查的理由,我不想删除它们。这是一台 PC 的示例(大写是我更改的字段):
ORGANIZATION.COM/Workstations/BUSINESS UNIT/Desktops/LOCATION/COMPUTER NAME
我目前有以下脚本,可以将它们打印到 .csv 中,这很有帮助,但更进一步,最好将其打印在屏幕上,然后快速查看并继续删除。有什么建议吗??
Get-Content C:\Temp\Powershell\hosts.txt | ForEach-Object {
Get-ADComputer $_ -Properties Name,CanonicalName |Select-Object Name,CanonicalName
} -ErrorAction Ignore | Export-Csv C:\Temp\Powershell\Output.csv
甚至第二行代码我都可以使用 output.csv,但不知道从哪里开始......
再次感谢!
【问题讨论】:
-
这个脚本可以实现我想要达到的效果... Get-Content ComputersToDelete.txt | % { Get-ADComputer -Filter { 名称 -eq $_ } } |删除-ADComputer -WhatIf ................................... ......我可以使用 -WhatIf 命令查看,然后在查看后继续进行
-
在没有“WhatIf”的情况下运行上述命令时出现此错误:................................ ..................................................... ................................ Remove-ADComputer : 目录服务可以执行请求的操作仅在叶对象上 At line:1 char:91 + ... xt | % { Get-ADComputer -Filter { 名称 -eq $_ } } |删除-ADComputer
标签: powershell scripting active-directory