Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Скрипт создания групп в AD (http://forum.oszone.net/showthread.php?t=301865)

SHASHLIK 30-06-2015 14:55 2524278

Скрипт создания групп в AD
 
Есть такое задание:

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


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

Kazun 30-06-2015 15:35 2524296

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 2524297

Kazun

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

SHASHLIK 01-07-2015 14:46 2524654

Цитата:

Цитата Kazun
PowerShell: »


Попробовал:




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



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

Kazun 01-07-2015 15:34 2524677

Код:

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 2525030

Цитата:

Цитата Kazun
Kazun »


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


Время: 16:53.

Время: 16:53.
© OSzone.net 2001-