Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Set obj=GetObject("WinNT:")
For Each str In obj
DomainName=str.Name
Next
Set GroupName="Value_Group"
Set element_group=GetObject("WinNT://" & DomainName & "/"& GroupName & ", group")
For each obj inGroup.Members
temp=temp+Member.Name
Next
MsgBox temp
3) Просмотр списка групп, к которой принадлежит пользователь. Использующийся в данном примере метод ISMember возвращает значение типа Boolean, т.е. True/False. Сценарий условно можно разделить на три части – определение текущего домена, определение списка групп в домене и проверка членства в группе.
Пример 19
Set objDomain=GetObject("WinNT: ")
For Each domain_element In objDomain
Domain_Name= domain_element.Name
Next
UserName="Administrator"
Set element_user=GetObject("WinNT://" & DomainName & "/"& UserName)
Set obj=GetObject("WinNT://" & DomainName)
obj.filter=array("group")
For Each element In obj
Set element_group=GetObject("WinNT://" & DomainName& "/"& element.name )
if element_group.IsMember (element_user.ADsPath)="True" then
temp=temp+ element.name & chr(13)
end if
Next
MsgBox temp
Убрав из данного примера конструкцию For Each element In obj можно, задав имя группы пользователя в явном виде, определять, является ли конкретный пользователь членом конкретной группы. Задачу, которая была решена в примере, можно решить иным способом: необходимо получить доступ к учетной записи пользователя и в цикле For в качестве имени массива указать свойство ArrayName.Groups:
Пример 20
Set obj=GhpLaserJetObject("WinNT://" & DomainName & "/"& UserName )
For Each element In obj.Groups
temp = temp + element.name + chr(13)
Next
Класс Computer
Свойства компьютера могут быть получены тем же способом, что и свойства полей для пользователя или домена. Название и обозначения полей см. в Приложении.
Подклассы PrintQueue, PrintJob, PrintJobsCollection
Управление принтерами и очередями принтеров
Провайдер WinNT создавался для доступа к объектам для семейства Microsoft Windows NT 4.0, поэтому принтеры рассматриваются как локальные устройства, что позволяет осуществлять программное управление их очередями печати. В классе Computer существует два подкласса – PrintQueue и PrintJob. Для доступа к принтеру необходимо, чтобы устройство было предоставлено в общее пользование.
Список папок и устройств, предоставленных в общее пользование в домене, включая скрытые папки, можно получить, используя следующий код:
Пример 21
On error Resume Next
Set objDomain=GetObject("WinNT:")
For Each domain_element In objDomain
Domain_Name= domain_element.Name
Next
Set obj=GetObject("WinNT://" Domain_Name &" /LanmanServer,fileservice")
For Each element In obj
temp=temp+element.Name+chr(13)
msgbox temp
Подключение к принтеру осуществляется с помощью протокола GetObject() по доступному сетевому имени. Еще раз хочу обратить внимание, что, хотя подключение к принтеру осуществляется как к сетевому устройству, он рассматривается как локальное устройство.
Приведем пример подключения к принтеру с помощью протокола WinNT и чтение свойства Name принтера:
Set obj=GetObject(«WinNT://PCName/PrinterShareName»
Описание объектной модели подклассов PrintQueue и PrintJob см. в Приложении.