В данном разделе находится общая информация.
В данном разделе находятся примеры различных Linux shell скриптов.
В данном разделе находятся примеры различных скриптов на WSH.
В данном разделе находятся материалы по разным темам.

Правильный CSS!

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

Для навигации пользуйтесь боковым меню и кнопками "Описание" и "Подробно".

Скрипт WSH (VBS) getmail.vbs для получения списка e-mail`ов всех пользователей домена.

Основные возможности:

  • Поиск e-mail`ов пользователей, контактов и групп;
  • Вывод e-mail с пометкой принадлежности к групе или пользователю.

Пример запуска скрипта getmail.vbs и результаты

Запуск скрипта getmail.vbs лучше осуществлять из командной строки:
C:\tmp>cscript //Nologo getmail.vbs
-P-     aevioenaevuaiena@exapmle.com
^-P-    ndiaevuaienoevia@exapmle.com
-P-     legevuaiesedevia@exapmle.com
-P-     aleviaevuaien@exapmle.com
<G>     al@exapmle.com
<G>     aiueaevuaidiesed@exapmle.com
^<G>    iuceaevuaidiesed@exapmle.com
<G>     coendiacdi@exapmle.com
^<G>    coendiacdi781@exapmle.com
<G>     diaevuaiaevuaidi@exapmle.com
-P-     diesedaevuaiudio@exapmle.com
^-P-    diesedaevuaiudio@exapmle.com
C:\tmp>

			
Можно перенаправить вывод в файл: cscript //Nologo getmail.vbs > getmail.txt

Пример getmail.vbs файла:

(Скачать файл можно будет здесь. ЗЫ Не тыкать! Жать правой кнопкой: сохранить ссылку как...)

Основные параметры:

  • domain - имя почтового домена,;
  • DC - DC домена;
  • GroupCN - CN групп;
  • GroupMark - Символ группы для пометки;
  • PersonMark - Символ пользователя/контакта для пометки.
  • pi - Показывать подробно (0 - только метка и e-mail, 1 - дополнительно номер записи и полное имя)

Текст getmail.vbs:

' Script getmail.vbs
' Get list of all domain user and group e-mails from domain

domain = "@example.com"
DC = "DC=EXAMPLE,DC=com"
GroupCN = "CN=Group,CN=Schema,CN=Configuration," & DC
GroupMark = "<G>"
PersonMark = "-P-"
' Show full info (0|1)
pi = 0

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 

objCommand.CommandText = "SELECT mailnickname, mail, name, objectCategory FROM 'LDAP://" & DC & _
	"' WHERE objectCategory='group' OR (objectCategory='person' AND (objectClass='user' AND " _
	"(homeMDB='*' OR msExchHomeServerName='*'))) ORDER BY mailnickname"
Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst
i = 1
Do Until objRecordSet.EOF
	mailnicknamestr = objRecordSet.Fields("mailnickname").Value
	If mailnicknamestr <> "null" Then
		mail = mailnicknamestr & domain
		mail2 = objRecordSet.Fields("mail").Value
		name = objRecordSet.Fields("name").Value
		If objRecordSet.Fields("objectCategory").Value = GroupCN Then
			objcat = GroupMark
		Else
			objcat = PersonMark
		End If
		ei = ""
		If pi = 1 Then ei = i & vbTab & name & vbTab End If
		Wscript.Echo ei & objcat & vbTab & mail 
		If mail <> mail2 Then
			i = i+1
			ei = ""
			If pi = 1 Then ei = i & vbTab & name & vbTab End If
			Wscript.Echo ei & "^" & objcat & vbTab & mail2
		End If
		i = i+1
	End If
	objRecordSet.MoveNext
Loop

			

Rambler's Top100

Yandex.Metrika

Page modification: Птн Сен 10 16:48:34 MSD 2010
Используется Quanta+ 3.5.10 Under the GPL v2 license.