Войти

Показать полную графическую версию : [решено] Скрипт создания групп в AD


SHASHLIK
30-06-2015, 14:55
Есть такое задание:

Имеется файловая помойка. На файловой помойке любой пользователь создает папки/подпапки.
Каждые N минут отрабатывает волшебный скрипт, который создает в AD группы с таким же наименованием на каждую такую папку в двух экземплярах( чтение и чтение+запись)
Бонусом будет если создатель папки сразу будет попадать в группу "чтение+запись"


На каком языке писать - сказали все равно)
Мне, знающему лишь поверхностно CMD такое явно не по силам=/

Kazun
30-06-2015, 15:35
PowerShell:

Get-ChildItem C:\Shares | Where {$_.PsIsContainer} | Foreach {
$owner = $_.GetAccessControl().Owner
New-ADGroup -Name "RW_$($_.Name)_GL" -GroupCategory Security -GroupScope Global -PassThru | Add-ADGroupMember -Members $owner
New-ADGroup -Name "R_$($_.Name)_GL" -GroupCategory Security -GroupScope Global
}

SHASHLIK
30-06-2015, 15:44
Kazun

Спасибо, щас буду пробовать!!

SHASHLIK
01-07-2015, 14:46
PowerShell: »


Попробовал:
http://i10.pixs.ru/storage/5/9/0/123jpg_5767942_17866590.jpg (http://pixs.ru/showimage/123jpg_5767942_17866590.jpg)



1) не работает с дочерними папками
2) на эти папки необходимо раздавать соответствующий доступ созданным группам, группе R- чтение, группе RW - чтение - запись.
3) Хотелось бы добавлять создателя папки в группу
4) И было бы неплохо потом владельца менять на админов домена



Спасибо за помощь)
Сразу узнал ваш ник с сайта technet Microsoft :up

Kazun
01-07-2015, 15:34
Get-ChildItem C:\Shares -Recurse| Where {$_.PsIsContainer} | Foreach {
$acl = $_.GetAccessControl()
$owner = $acl.Owner.Split("\")[1]
$rw_gr = "RW_$($_.Name)_GL"
$r_gr = "R_$($_.Name)_GL"

# Создание групп и добавление owner
New-ADGroup -Name $rw_gr -GroupCategory Security -GroupScope Global -PassThru | Add-ADGroupMember -Members $owner
New-ADGroup -Name $r_gr -GroupCategory Security -GroupScope Global -PassThru


# Добавление в ACL групп
icacls $_.FullName /grant "$rw_gr`:(OI)(CI)RW" /grant "$r_gr`:(OI)(CI)R" /T /C

# Смена владельца
icacls $_.FullName /setowner "Domain Admins" /T /C
}

SHASHLIK
02-07-2015, 12:47
Kazun »


Божественно!! Спасибо!! :clapping:




© OSzone.net 2001-2012