Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] AD - Добавление в группу на основе атрибутов

Ответить
Настройки темы
PowerShell - [решено] AD - Добавление в группу на основе атрибутов

Пользователь


Сообщения: 126
Благодарности: 3

Профиль | Отправить PM | Цитировать


Изменения
Автор: rudimko
Дата: 03-10-2012
Добрый день, всем гуру PowerSell'a!
Прошу помощи в написании скрипта, цель которого будет следующей:
В зависимости от того как заполнен атрибут "Организация" в AD у пользователя, добавлять его в соответствующую группу. Т.е., я так понимаю, надо как-то сначала задать какая организация будет приравниваться какой группе (например для Организации "Организация 1" должна быть добавлена группа "Пользователи-1" если она еще не добавлена и т.д.
Заранее огромное спасибо...

Отправлено: 19:13, 12-09-2012

 

Пользователь


Сообщения: 126
Благодарности: 3

Профиль | Отправить PM | Цитировать


Еще маленький вопросик:
Возможно ли, при исключении из групп по маске "Пользователи-*", сделать вывод информации из каких именно групп был исключен пользователь?

Отправлено: 12:31, 02-10-2012 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


У командлета Remove-ADGroupMember есть параметр PassThru.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:32, 02-10-2012 | #12


Пользователь


Сообщения: 126
Благодарности: 3

Профиль | Отправить PM | Цитировать


А как этот параметр можно применить\отобразить через Write-Host?

Последний раз редактировалось rudimko, 02-10-2012 в 13:28.


Отправлено: 13:14, 02-10-2012 | #13


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Добавить в Foreach
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:40, 02-10-2012 | #14


Пользователь


Сообщения: 126
Благодарности: 3

Профиль | Отправить PM | Цитировать


Вроде бы работает, но т.к. я совсем неопытный, прошу посмотреть и поправить, правильно ли?
Код: Выделить весь код
$grdel = $user.MemberOf | Where {$_ -match "Пользователи-*"} | Remove-ADGroupMember -Members $user -Confirm:$false -PassThru
	foreach ($grdel_str in $grdel) 
	{
		"$($user.Name) удален из группы $($grdel_str.Name)"
	}

Отправлено: 15:54, 02-10-2012 | #15


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем доброго времени суток.
Пришел сюда просить о помощи. Я только приступаю к изучению PowerShell, а посоветоваться в реале мне к сожалению не с кем.
В общем проблема заключается в следующем. Необходимо пользователей из определенной OU добавить в группы. Но сделать это так, что бы если атрибут пользователя (department) совпадал с именем группы(name), то пользователь автоматически становился её участником.

Отправлено: 18:10, 20-08-2015 | #16


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Get-ADUser -Filter {department -like '*'} -SearchBase "OU=MyOY,DC=Contoso,DC=Com" | Group-Object Department | Foreach {
	$gr = Get-ADGroup -Filter "Name -eq '$($_.Name)'"
	if($gr) {Add-ADGroupMember -Identity $gr  -Members $_.Group}
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:07, 21-08-2015 | #17


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Огромное Вам спасибо! Сейчас буду пробовать.

Отправлено: 10:35, 21-08-2015 | #18


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток.

Пришлось внести некоторые изменения в скрипт. Выяснилось, что значение атрибута departament отличается от имени группы наличием в конце пробела. Попытался решить это путем добавления подстановочного символа.
$gr = Get-ADGroup -Filter "Name -eq '$($_.Name)*'" (Подскажите пожалуйста, верно ли я вставил подстановочный символ "*" ?)

Так же внес некоторые изменения в фильтр поиска пользователей, исключив от туда "ненужных".
Однако при запуске скрипта, он ругается на позиционный параметр, нашел на форуме идентичную проблему, однако символа переноса строки (удаления которого решило проблему) не нашел. Подскажите пожалуйста, в чем может быть причина.

Код: Выделить весь код
Get-ADGroup : Не удается найти позиционный параметр, принимающий аргумент "if".
строка:1 знак:155
+ Get-ADUser -Filter {department -ne 'департамент*'} -SearchBase "OU=Test,DC=CB,DC=LS" | Group-Object Department | Foreach {$gr = Get-ADGroup <
<<<  -Filter "Name -like '$($_.Name)'"if($gr) {Add-ADGroupMember -Identity $gr
 -Members $_.Group}}
    + CategoryInfo          : InvalidArgument: (:) [Get-ADGroup], ParameterBin
   dingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDire
   ctory.Management.Commands.GetADGroup

Отправлено: 09:40, 26-08-2015 | #19


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Пригласите более грамотного специалиста к компьютеру, который сможет правильно скопировать мой пост выше, а не как вздумается, все в одну строку(знак разделения между командами ; ).

Отправлено: 09:52, 26-08-2015 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] AD - Добавление в группу на основе атрибутов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Вопрос - Можно ли учётку, входящую в группу "администраторы" ограничить в правах? Arwed Защита компьютерных систем 7 19-03-2011 18:48
Интерфейс - Добавление пункта "Загрузки" в меню "Пуск" Deja7u Microsoft Windows 2000/XP 5 09-01-2011 21:27
[решено] Помогите сделать кнопку для создания атрибута окну "поверх всеx" Pozia AutoIt 2 21-02-2009 22:48
Жесть: "Линуксоиды представляют собой большую, сплоченную группу неадекватных людей." xoomer Новости и флейм из мира *nix 10 18-06-2007 06:22




 
Переход