Представим задачу – необходимо организовать автоматическое создание персональных пользовательских дисков и их монтирование сотрудникам организации. В заметке будет рассмотрен решения данной задачи.
В сети можно найти множество материалов по этой теме. В большинстве случаев решение в указании домашнего каталога в объекте пользователя Active Directory. Такой вариант мне не нравится, т. к. конфигурация домашнего каталога будет передана в пользовательский сеанс. Еще стоит обратить внимание, что монтирование диска не будет происходит вне доступности доменного окружения. Другим вариантом можно считать применение .bat скриптов. Концептуально уже лучше, но связываться с геронтологией в виде CMD скриптов я не стал. В конечном итоге, был составлен PowerShell скрипт, листинг которого ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $homedir="\\kv-data.corp.ait.in.ua\Personal\$($ENV:USERNAME)" if (-not (Test-Path "$homedir")) { $acl = Get-Acl (New-Item -Path $homedir -ItemType Directory) $acl.SetAccessRuleProtection($false, $true) $ace = "$($env:USERDOMAIN)\$($ENV:USERNAME)","FullControl", "ContainerInherit,ObjectInherit","None","Allow" $objACE = New-Object System.Security.AccessControl.FileSystemAccessRule($ace) $acl.AddAccessRule($objACE) Set-ACL -Path "$homedir" -AclObject $acl } $Networkpath = "P:\" $pathExists = Test-Path -Path $Networkpath If (-not ($pathExists)) { (new-object -com WScript.Network).MapNetworkDrive("P:","$homedir") } |
Что он делает:
- проверяет наличие пользовательского каталога на сетевом каталоге Personal сервера kv-data.corp.ait.in.ua;
- в случае отсутствия каталога пользователя, создается новый каталог с его именем. Отключается наследование и назначаются полные права на каталог пользователю;
- в случае если у пользователя отсутствует сетевой диск с его каталогом, происходит автоматическое его монтирование с буквой P.
Чтобы скрипт отрабатывал требуется настроить права на сетевом каталоге:
На файловом сервере я рекомендую установить File Server Resource Manager (FSRM). Этот компонент поможет в организации квот на персональные каталоги пользователей. Скрипт следует пометить в групповую политику. Он должен выполнятся в контексте пользователя при входе в систему.
Если у вас возникли какие-либо вопросы, пожалуйста, пишите в комментарии.