Работаю над проектом для экспериментального класса обучения, и что ж ... Меня попросили позаботиться о сценарии входа в систему, мы еще не готовы полностью реализовать его, и я сам новичок со сценариями, но я попробовал, и это это то, что у меня есть. Мне интересно, может ли кто-то знающий взглянуть и указать на какие-либо ошибки - я могу провести дополнительные исследования относительно того, почему это неправильно, если я знаю, что искать.
Спасибо за любую помощь.
Цель этого сценария - определить, к какой группе принадлежит пользователь, а затем предоставить соответствующие общие ресурсы отделу. Расчет заработной платы будет иметь доступ к доле «Заработная плата» каждого отдела.
Department Key: HR, Accounting=ACT, Payroll=PYR, IT, Admin=AD, Production=PRD, Custodial=CST
Const ACT_GROUP = "cn=Accounting"
Const AD_GROUP = "cn=Admin"
Const CST_GROUP = "cn=Custodial"
Const HR_GROUP = "cn=Human Resources"
Const IT_GROUP = "cn=IT"
Const PYR_GROUP = "cn=Payroll"
Const PRD_GROUP = "cn=Production"
Set wshNetwork = CreateObject("WScript.Network")
Set ADSysInfo = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" &
ADSysInfo.UserName)
strGroups = LCase(Join(CurrentUser.MemberOf))
If InStr(strGroups, ACT_GROUP) Then
wshNetwork.MapNetworkDrive "N:",
"\\FileServer\Accounting\Department\"
wshNetwork.MapNetworkDrive "M:",
"\\FileServer\Accounting\Users\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "O:",
"\\FileServer\Accounting\ACTPayroll\"
ElseIf InStr(strGroups, AD_GROUP) Then
wshNetwork.MapNetworkDrive "N:",
"\\FileServer\Admin\Department\"
wshNetwork.MapNetworkDrive "M:",
"\\FileServer\Admin\Users\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "O:",
"\\FileServer\Admin\ADPayroll\"
ElseIf InStr(strGroups, CST_GROUP) Then
wshNetwork.MapNetworkDrive "N:",
"\\FileServer\Custodial\Department\"
wshNetwork.MapNetworkDrive "M:",
"\\FileServer\Custodial\Users\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "O:",
"\\FileServer\Custodial\CSTPayroll\"
ElseIf InStr(strGroups, HR_GROUP) Then
wshNetwork.MapNetworkDrive "g:",
"\\FileServer\Human Resources\Department\"
wshNetwork.MapNetworkDrive "M:",
"\\FileServer\Human Resources\Users\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "O:",
"\\FileServer\Human Resources\HRPayroll\"
ElseIf InStr(strGroups, IT_GROUP) Then
wshNetwork.MapNetworkDrive "g:",
"\\FileServer\IT\Department\"
wshNetwork.MapNetworkDrive "M:",
"\\FileServer\IT\Users\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "O:",
"\\FileServer\IT\ITPayroll\"
ElseIf InStr(strGroups, PYR_GROUP) Then
wshNetwork.MapNetworkDrive "g:",
"\\FileServer\Payroll\Department\"
wshNetwork.MapNetworkDrive "M:",
"\\FileServer\Payroll\Users\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "O:",
"\\FileServer\Payroll\PYRPayroll\"
wshNetwork.MapNetworkDrive "Q:",
"\\FileServer\Accounting\ACTPayroll\"
wshNetwork.MapNetworkDrive "R:",
"\\FileServer\Admin\ADPayroll\"
wshNetwork.MapNetworkDrive "S:",
"\\FileServer\Custodial\CSTPayroll\"
wshNetwork.MapNetworkDrive "T:",
"\\FileServer\Human Resources\HRPayroll\"
wshNetwork.MapNetworkDrive "U:",
"\\FileServer\IT\ITPayroll\"
wshNetwork.MapNetworkDrive "V:",
"\\FileServer\Production\PRDPayroll\"
ElseIf InStr(strGroups, PRD_GROUP) Then
wshNetwork.MapNetworkDrive "g:",
"\\FileServer\Production\Department\"
wshNetwork.MapNetworkDrive "M:",
"\\FileServer\Production\Users\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "O:",
"\\FileServer\Production\PRDPayroll\"
End If
Это нужно делать с помощью сценария входа в систему? Если можно использовать настройки групповой политики, это, вероятно, предпочтительнее. Таким образом, вы можете сделать это с помощью красивого графического интерфейса и таким же образом настроить таргетинг на группы. Также он сопоставляет имя с GUID, поэтому, если имя группы изменится, оно все равно будет работать (не так много в сценарии, если вы не помните, чтобы изменить имя и там). Кроме того, у вас есть возможность видеть возможные ошибки, которые возникают в журналах событий рабочей станции, когда они обрабатываются во время входа в систему. Это дает хороший обзор: Использование предпочтений групповой политики для сопоставления дисков на основе членства в группах
Если вам нужен сценарий, имеет ли значение членство во вложенной группе? Возможно проверьте http://www.rlmueller.net/freecode2.htm для некоторых хороших примеров сценариев.