Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

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


Делал что-то подобное на PowerShell, точнее, PowerGUI — с использованием командлетов Quest Software:

Код: Выделить весь код
cls
# Поиск по всем пользователям домена. Далее будет ограничен нужной группой
$SearchRoot = "YourDomain.local/Users"
# Тут задаем нужную группу пользователей, или наобоорот, исключаем ненужную:
$DomainUsers = Get-QADUser -Enabled -SearchRoot $SearchRoot -ErrorAction SilentlyContinue -IncludedProperties name -NotMemberOf 'Технологические учетные записи' -IndirectMemberOf 'TestUsers' 
#Для каждого пользователя в коллекции..
  foreach ( $DomainUser in $DomainUsers ) 
 {
       # В этом блоке вытаскиваем фамилию пользователя, и "отрезаем" от имени всё кроме первой буквы. 
       # Папка будет иметь вид "Иванов И. А". Если же хотите, чтоб папки назывались "IvanovIA", то закомментируйте 
       # две следующие строчки, и раскомментируйте третью
       $Givenname = $DomainUser.givenname -creplace "[а-я]\S+"
       $DirName = $DomainUser.sn + " " + $Givenname + ". " + $DomainUser.Initials
       # $DirName = $DomainUser.samAccountName  # Раскомментируйте для отображения в виде "IvanovIA".
       $DirNameFull = "\\fileserver\share\Сотрудники\$DirName"
       if ( !( Test-Path $DirNameFull ))
            {
                   Write-Host 'Папки' $DirNameFull 'нет, создадим ее и назначим права.'
                   New-Item -Path $DirNameFull -ItemType Directory
                   # F - full, RX - read & execute, OI - Object Inheritance (наследование объектами - файлы), CI - наследование контейнерами (папки)
                   icacls $DirNameFull /grant:r "$($DomainUser):(OI)(CI)(IO)M" /T /C
                   #icacls $DirNameFull /grant:r "$($DomainUser):RX" /C
                   # Права на чтение, запись и выполнение только для этой папки.
                   icacls $DirNameFull /grant:r "$($DomainUser):(GR,GE,GW)" /C
                   # Для пользователей домена:
	    icacls $DirNameFull /grant:r "$($env:USERDOMAIN)\Пользователи домена:(OI)(CI)(GR,WD)" /T /C
            }
}

Последний раз редактировалось snark, 06-06-2012 в 17:28.

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

Отправлено: 10:51, 06-06-2012 | #2