我有 150 台计算机的列表,我想使用 powershell 在活动目录中禁用它。
所以我有一个包含计算机名和以下脚本的 csv 文件:
Import-Module ActiveDirectory
$computers = import-csv "C:\temp\test.csv"
foreach ($computer in $computers)
{
$computer | disable-adaccount
$computer | move-adobject -targetpath "OU=Disabled computers, DC=domain, DC=com"
}
出现以下错误:
Disable-ADAccount : The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take pipeli
ne input.
有人可以帮忙吗?
干杯
尝试使用常规参数而不是管道:
disable-adaccount $computer
(如有必要,对另一个电话重复此操作)
也可以在 Technet 上查看这个问题:Powershell script to disable AD account based on CSV file
创建一个名为 disable.txt 的 txt 文件并将要禁用的计算机列表放在 C: emp 位置
运行这个脚本:
$Computer = Get-content c:\temp\disable.txt
Foreach ($Computer in $computers) {
Set-ADComputer -Identity $computer -Enabled $false
}
我知道这是一篇旧帖子,但我相信这是 Disable-ADAccount 的类型不匹配,需要一个属性而不是整个对象进行输入。
使用示例,我将 .DistinguishedName 添加到传递给 Disable-ADAccount 的项目并且它有效。不过,输入 csv 需要为命令提供 DistinguishedName。
{
Disable-ADAccount $StaleComputer.DistinguishedName
Move-ADObject $StaleComputer.DistinguishedName -TargetPath "OU=Disabled Computers, DC=domain, DC=com"
}