MikhailL
21-12-2008, 23:19
Добрый вечер, форумчане.
Выполнял проэкт клиента, так им пторебовалось автоматизировать такую задачу, как добавление и удаление сетевого принтера в зависимости от членства в группе. Было несколько вариантов реализации, но по желанию клиента "должно быть все просто и понятно" решил описать всю проверку членсва вгруппе в скрипте. Вот, пожалуйста.
'==============================================
'Подключение указанного сетевого принтера, |
'при условии наличия членства пользователя |
'в указанной группе, и удаление принтера, при |
'удалении пользователя из группы |
'==============================================
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oSysInfo = WScript.CreateObject("ADSystemInfo")
sUserDN = oSysInfo.UserName
Set oUser = GetObject("LDAP://" & sUserDN)
Set oGroup = GetObject ("LDAP://CN=PRINTER_GROUP,CN=....,DC=DomainController,DC=domainController")
Const PRINTER = "\\n70\FMTestprinter"
If oGroup.IsMember("LDAP://" & sUserDN) then
WshNetwork.AddWindowsPrinterConnection PRINTER
WshNetwork.SetDefaultPrinter PRINTER
Else
WshNetwork.RemovePrinterConnections PRINTER
End If
Выполнял проэкт клиента, так им пторебовалось автоматизировать такую задачу, как добавление и удаление сетевого принтера в зависимости от членства в группе. Было несколько вариантов реализации, но по желанию клиента "должно быть все просто и понятно" решил описать всю проверку членсва вгруппе в скрипте. Вот, пожалуйста.
'==============================================
'Подключение указанного сетевого принтера, |
'при условии наличия членства пользователя |
'в указанной группе, и удаление принтера, при |
'удалении пользователя из группы |
'==============================================
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oSysInfo = WScript.CreateObject("ADSystemInfo")
sUserDN = oSysInfo.UserName
Set oUser = GetObject("LDAP://" & sUserDN)
Set oGroup = GetObject ("LDAP://CN=PRINTER_GROUP,CN=....,DC=DomainController,DC=domainController")
Const PRINTER = "\\n70\FMTestprinter"
If oGroup.IsMember("LDAP://" & sUserDN) then
WshNetwork.AddWindowsPrinterConnection PRINTER
WshNetwork.SetDefaultPrinter PRINTER
Else
WshNetwork.RemovePrinterConnections PRINTER
End If