Назад | Перейти на главную страницу

Динамическое создание подключенных сетевых дисков через GPO к имени пользователя

Хорошего дня.

Я изучил server 2008 r2 в колледже и пытался настроить небольшой сервер для колледжа.

Я настроил AD с DNS, DHCP и WSUS. Я пытаюсь сопоставить 2 сетевых диска каждому пользователю в определенной группе (именуемой «Студенты»). У каждого студента должна быть общая папка (материалы курса) и личная папка (его работа), привязанные к его учетной записи.

Есть ли способ автоматически разрешить объекту групповой политики создавать папки с использованием переменной% USERNAME% для личных папок и делиться ими с учащимся?

Я могу создавать общедоступные и частные папки вручную, просто интересно, возможно ли это и как я буду это делать?

Вы можете сделать это в сценарии пакетного входа для студентов; это может отображать любое количество сетевых дисков по любым критериям. Напишите и протестируйте сценарий, а затем вставьте его в "%windir%\SYSVOL\sysvol\<domain name>\Scripts\".

Чтобы проверить это, создайте тестовое подразделение в своем AD и поместите в него одного тестового пользователя. Создайте групповую политику для этого тестового подразделения и в "\User Configuration\Windows Settings\Scripts (Logon/Logoff)"запись, отредактируйте"Logon"и добавьте сценарий входа в систему, указывающий на ваш сценарий.

Вы должны иметь возможность протестировать его, войдя в систему как тестовый пользователь, чтобы увидеть, делает ли он то, что вы планировали. Если да, реплицируйте изменение в соответствующую групповую политику для вашего студенческого подразделения.

Что касается автоматического создания личных папок учащихся, у них уже должна быть папка «Мои документы», которая является частной для них. Если вам нужна вторая личная папка, вам, вероятно, придется создать ее вручную, или, если вы создаете учетные записи пользователей с помощью какого-либо сценария, измените сценарий, чтобы создать эти частные папки для каждой учетной записи пользователя и предоставить соответствующие разрешения.

Я считаю, что использование настроек GPO не создаст для вас структуру папок, но вы можете использовать переменные среды, такие как% USERNAME%, чтобы позволить каждому иметь собственную подпапку на общем пути.

Я бы использовал консоль «Пользователи и компьютеры AD» для настройки домашнего диска каждого пользователя на вкладке «Профили», хотя этого также можно было достичь с помощью PowerShell.


  1. установите букву диска и путь UNC, например

\\ server1 \ home \% USERNAME%

локальный путь, возможно, будет C: \ NetworkData \ Home \

ПРИМЕЧАНИЕ: убедитесь, что разрешения разрешают аутентифицированным пользователям доступ к этому уровню, чтобы обеспечить возможность сопоставления диска при входе в систему. вы можете сделать это в ACL папок. разрешить всем все права на разрешения общего доступа и затянуть обычным ACL папки.

это затем создаст для вас структуру каталогов, вам все равно нужно будет установить разрешения для каталога самостоятельно после его создания. или получите сценарий, чтобы просмотреть их после.

Я бы предложил высший уровень. т.е.

\\ server1 \ home \ joe.blogs \

позволит другим читать / писать


  1. вы можете поместить под ним подпапку:

\\ server1 \ home \ joe.blogs \ Documents

Что бы вы удалили наследование разрешений и разрешили бы только администраторам и человеку, которому принадлежит папка. поэтому сделайте его приватным.

  1. затем вы можете сопоставить эту личную папку с помощью настроек GPO и снова сопоставить ее с другой буквой и переменной% USERNAME%.


Хотя мне интересно, как вы хотите, чтобы другие пользователи имели доступ к «общедоступным» папкам своих коллег?

это все намного быстрее, если вы хорошо разбираетесь в Powershell, поскольку вы можете установить реквизиты AD, создать подкаталог и сразу установить разрешения для всех пользователей в вашем AD / Site / OU. Вот как установить домашний каталог. используйте команду get-aduser, чтобы получить заданный набор пользователей, и просмотрите его так

`
$Users = Get-ADUser  -SearchBase "OU=Accounts,OU=RootOU,DC=ChildDomain,DC=RootDomain,DC=com" -Filter *;

foreach($User in $users)
{
    Set-ADUser -Identity $User.SamAccountName -HomeDirectory \\server1\home\$User.SamAccountName -HomeDrive H;

}

`