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

Используйте «Имя сайта клиента» в настройках групповой политики

В Active Directory вы можете сопоставить IP-адреса с клиентскими сайтами.

... а затем вы можете сопоставить объекты групповой политики с сайтами.

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

Наш стандарт именования в общих чертах основан на LOCODE, поэтому каждый сайт состоит из 7 символов - например, USHQZOF. Этот префикс используется для названия каждой машины.

Мне надоело создавать одну и ту же базовую политику где угодно.

Буквально следует формату:

Мне бы очень понравилось, если бы я мог создать политику, в которой я мог бы сказать:

... и покончить с этим навсегда.

Похоже, вы можете использовать множество переменных среды в настройках групповой политики (https://technet.microsoft.com/en-us/library/Cc753915.aspx), но я ничего не вижу для имени клиентского сайта.

Мне не повезло, или мне нужно пойти в «старую школу» и вызвать файл cscript / vbscript во время входа в систему, который ищет его и отображает соответствующие элементы?

(править: я знаю, что это можно сделать с файлом VBS - я делал это раньше. Это просто кажется ... нечистым ...)

я впервые пытаюсь помочь

У меня тоже была эта проблема, и я решаю ее, используя поведение по умолчанию dns Приоритизация локальных подсетей https://technet.microsoft.com/en-us/library/cc787373(v=ws.10).aspx

Так что в вашем случае просто нужно создать запись A для ваших сайтов fs Servers с именем SRV01

А затем просто создайте один gpo для монтирования и добавьте печать по умолчанию с srv01 \ и свяжите его с каждым сайтом

И когда клиент на сайте запрашивает srv01, DNS вернет правильный IP-адрес srv01 для этого сайта.

если вам все еще интересно узнать о VBS, этот код установит имя сайта в системную переменную.

'--- Get Site name ---
Set strSysinfo = CreateObject("ADSystemInfo")
strCurrentSite=strSysinfo.Sitename

'--- Write site name to system variables ---
Set objShell = CreateObject("WScript.Shell")
Set objSystemEnv = objShell.Environment("SYSTEM")
objSystemEnv("SiteName") = strCurrentSite

'--- Clean ---
Set strSysinfo = Nothing
Set objShell = Nothing
Set objSystemEnv = Nothing