如何为同一 OU 中的所有用户设置描述?

如何为同一 OU 中的所有用户设置描述?

我正在尝试使用 write-output 命令的输出并使用 Set-ADUser 更改特定 OU 上所有用户的 Descripton 字段。

首先我做的是:

Import-Module ActiveDirectory
$Users = Get-ADUser -SearchBase 'OU="Users",ou="Customer10",OU="Customers",OU="Company",DC=domain,DC=net' -Filter * | Select SamAccountName
Write-Output $users 

我可以用哪种方式处理下一个命令来添加描述? foreach ($usuarios in $users)在下面的命令之间尝试了 foreach: - 但没有成功。

设置-ADuser-Identity $users-Description“客户 10 - 客户”

似乎无法通过 Identity 来识别 SamAccountName。

答案1

您的Set-ADUsers命令无法工作,因为它试图使用包含您要搜索的所有用户的 $Users 对象。ForEach 需要一次处理一个用户。我也会删除| Select-Object SamAccountName,这样您就可以在以后的脚本中使用完整的对象和属性(如果需要)。我会这样做:

Import-Module ActiveDirectory
$Users = Get-ADUser -SearchBase 'OU="Users",ou="Customer10",OU="Customers",OU="Company",DC=domain,DC=net' -Filter *
Write-Output $users 
ForEach ($usuarios in $users) {
    Set-ADUser -Identity $usuarios.SamAccountName -Description "Customer 10 - Customer"
}

相关内容