Как я могу установить описание для всех пользователей в одном подразделении?

222
Marlon

Я пытаюсь использовать вывод команды 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 по Идентичности.

0

1 ответ на вопрос

2
DukeSilversJazz

Ваша 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" } 
Я использую того же пользователя с правами администратора, но он возвращает: Set-ADUser: Недостаточные права доступа для выполнения операции Marlon 5 лет назад 0
Работал нормально, работает с приглашением администратора, просто запуск по ISE не работал. Marlon 5 лет назад 1