Я пытаюсь использовать вывод команды write-output и использовать Set-ADUser, чтобы изменить поле Descripton для всех пользователей в определенной OU.

Сначала я сделал:

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:foreach ($usuarios in $users) - между командами, приведенными ниже, безуспешно.

Set-ADuser -Identity $ users -Description "Клиент 10 - Клиент"

Кажется, что это не Идентифицирует SamAccountName по Идентичности.

1 ответ1

2

Ваша команда 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"
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .