Pytanie : sumujący ostatni hasło zmiana vbscript (Wymiana 2003 skrzynka pocztowa statystyki)

móc weterings pomagać dwa parametr ten wielki vbs pismo Paul Weterings?

What I dodatkowo potrzebować być
> skrzynka pocztowa tworzenie date
> ostatni hasło zmiana date

thanks dla twój help
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
 ' =============================================================== 
'Purpose: Wystawiać serwer Exchange_Mailbox znajdować dla Wekslowy serwer, 
'i pokazywać wszystkie własność na the Exchange_Mailbox 
'przedmiot. Wydajność znaczyć importować w Przodować. Ono dawać wgląd w skrzynka pocztowa rozmiar, 
'użycie Etc. 
'Notatka: sprawdzać the SelfADSI strona internetowa dla wielki info o the użytkownik przedmiot: http://www.selfadsi.org/ 
'Zmiana: cComputerName [sznurek] the komputer 
'Wydajność: Wystawiać the imię własność Exchange_Mailbox i własność 
'Autor: Paul Weterings 
'www.servercare.nl
'Data: feb 2006 
'Rev: feb 2007 v1.2 dodawać skrzynka pocztowa-typ 
'Rev: jul 2009 v1.3 zmiana daktylowy handeling i przecinek delimitacja, dodawać email i użytkownik niepełnosprawny info
'Rev: aug 2009 v1.4 niezmienny mały literówka
'Wersja 1.4
'=============================================================== 
opcja wyraźny
'Konstanta dla the NameTranslate przedmiot. 
Const ADS_NAME_INITTYPE_GC = 3 
Const ADS_NAME_TYPE_NT4 = 3 
Const ADS_NAME_TYPE_1779 = (1) 
Const ADS_NAME_TYPE_DISPLAY = 4

Na Błąd Życiorys Następnie 
Const cWMINameSpace = "korzeń/MicrosoftExchangeV2" 
Const cWMIInstance = "Exchange_Mailbox" 

Ciemnawy strWinMgmts 'Związek sznurek dla WMI 
Ciemnawy objWMIExchange 'Wymiana Namespace WMI przedmiot 
Ciemnawy listExchange_Mailboxs 'ExchangeLogons kolekcja 
Ciemnawy objExchange_Mailbox 'Pojedynczy ExchangeLogon WMI przedmiot 
Ciemnawy strEmail, strUserInfo, strServerName, objUser, objTrans, strUserDN

'Widzieć WMIDateToString funkcja
SetLocale (1043)
Ustalony objUser = CreateObject ("Scripting.Dictionary") 

Jeżeli WScript.Arguments.Count > (0) Wtedy 
	strServerName = WScript.Arguments.Item ((0)) 
	'WScript.echo "Wekslowy serwer: " & strServername 
	'Tworzyć the przedmiot sznurek, wskazujący WMI (winmgmts), using the 
	'aktualny użytkownik referencje (impersonationLevel=impersonate), 
	'na the komputer precyzować w the variabele strServerName, i 
	'using the CIM namespace dla the Wekslowy dostawca. 
	strWinMgmts = "winmgmts: {impersonationLevel=impersonate}! /"& strServerName&"/"&cWMINameSpace 
	Ustalony objWMIExchange = GetObject (strWinMgmts) 
	'Weryfikować my być sprawnie prawidłowo the przedmiot. 
	Jeżeli Err.Number <> (0) Wtedy 
		WScript.Echo "BŁĄD: Niezdolny the WMI namespace." & Err.Description
		Err.Clear
	Inny 
		' 
		'The Zasoby który obecnie istnieć pojawiać się jako lista 
		'Exchange_Mailbox przykład w the Wymiana namespace. 
		Ustalony listExchange_Mailboxs = objWMIExchange.InstancesOf (cWMIInstance) 
		' 
		'Jakaś Exchange_Mailbox Przykład wracać? 
		Jeżeli (listExchange_Mailboxs.count > (0)) Wtedy 
			'Jeżeli tak, robić the następujący: 
			'Drukować chodnikowiec i Iterate przez the lista Exchange_Mailbox przedmiot. 
			WScript.echo "Użytkownik imię; Dzień używać; Rzecz; Mb Rozmiar; Skrzynka pocztowa sklep; Skrzynka pocztowa Typ; Użytkownik Obezwładniać; Początkowy Email" 
			Dla ListExchange_Mailboxs objExchange_Mailbox w listExchange_Mailboxs 
				objUser = null
				strUserInfo = ""
				'Używać the NameTranslate przedmiot the Pokaz Imię the 
				'Odróżniać Imię wymagać dla the LDAP dostawca. 
				'Widzieć http://www.rlmueller.net/NameTranslateFAQ.htm 
				Ustawiać objTrans = CreateObject ("NameTranslate") 
				'Initialize NameTranslate the Globalny Katalog. 
				objTrans.Init ADS_NAME_INITTYPE_GC, "" 
				'Używać the Ustalony metoda the NT format the przedmiot imię. 
				objTrans.Set ADS_NAME_TYPE_DISPLAY, objExchange_Mailbox.MailboxDisplayName 
				'Używać the Dostawać metoda the RPC 1779 Odróżniać Imię. 
				strUserDN = objTrans.Get (ADS_NAME_TYPE_1779) 
				'WScript.Echo ": " & objExchange_Mailbox.MailboxDisplayName
				'Oprawiać the użytkownik przedmiot w Aktywny Książka telefoniczna z the LDAP dostawca.				
				Ustawiać objUser = GetObject ("LDAP: /" & strUserDN) 
				Jeżeli Err.Number <> (0) Wtedy
					WScript.Echo "Problemowy przedmiot" & strUserDN & "Błąd: " & Err.Nr & ": " & Err.Description
					Err.Clear
				Kończyć Jeżeli
				'Teraz pozwalać pokaz wszystkie the informacja, zauważać że tylko the ostatni kreskowy uses the przekład. 
				'omijać the użytkownik REKLAMA imię który być bardzo długi sznurek & najprawdopodobniejszy nie użytkownik
				jeżeli len (objExchange_Mailbox.MailboxDisplayName) < 40 Wtedy 
					'Budować użytkownik informacja sznurek
					strUserInfo = objExchange_Mailbox.MailboxDisplayName & _
					"; " & DateValue (Teraz) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime)) &_ 
					"; " & objExchange_Mailbox.TotalItems & _ 
					"; " & objExchange_Mailbox.Size & _ 
					"; " & objExchange_Mailbox.StoreName &_ 
					"; " & objUser.Title &_
					"; " & objUser.AccountDisabled
					'Znajdować the użytkownik prasmoła SMTP adres, my potrzebować the szyk adres
					Dla ObjUser.proxyAddresses strEmail w objUser.proxyAddresses
						jeżeli InStr (strEmail, "SMTP") > (0) wtedy 'nakrętka używać dla początkowy adres
							strUserInfo = strUserinfo & "; " & Prawy (strEmail, Len (strEMail) - 5)
						Kończyć Jeżeli
					Następnie
					jeżeli Len (strUserInfo) > (1) Wtedy
					'WScript.echo strUserInfo
					
					WScript.StdOut.Write objExchange_Mailbox.MailboxDisplayName
					'Nie mandatariusz jeżeli użytkownik nigdy notować dalej
					Jeżeli Len (objExchange_Mailbox.LastLogonTime) > (0) Wtedy
						WScript.StdOut.Write "; " & DateValue (Teraz) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime))
					Inny
						WScript.StdOut.Write "; -"
					Kończyć Jeżeli
					WScript.StdOut.Write "; " & objExchange_Mailbox.TotalItems
					WScript.StdOut.Write "; " & objExchange_Mailbox.Size
					WScript.StdOut.Write "; " & objExchange_Mailbox.StoreName
					WScript.StdOut.Write "; " & objUser.Title
					WScript.StdOut.Write "; " & objUser.AccountDisabled
					Dla ObjUser.proxyAddresses strEmail w objUser.proxyAddresses
						jeżeli InStr (strEmail, "SMTP") > (0) wtedy 'nakrętka używać dla początkowy adres
							'strUserInfo = strUserinfo & "; " & Prawy (strEmail, Len (strEMail) - 5)
							WScript.StdOut.Write "; " & Prawy (strEmail, Len (strEMail) - 5)
						Kończyć Jeżeli
					Następnie
					WScript.StdOut.WriteLine
					Kończyć Jeżeli
				Kończyć jeżeli
			Następnie 
		Inny 
			'Jeżeli żadny Exchange_Mailbox przykład wracać, 
			'wystawiać to. 
			WScript.Echo ": Żadny Exchange_Mailbox przykład wracać." 
		Kończyć Jeżeli 
	Kończyć Jeżeli 
Inny 
	WScript.echo "Argument: Servername" 
	WScript.echo "Dokąd Servername być the NetBIOS imię the Wekslowy serwer ty chcieć" 
Kończyć Jeżeli 
'****************************************************************************** 
Funkcja WMIDateToString (dtmDate)
	'Zauważać że the sznurek do teraz zamiana rutyna w VBScript mieć the rozzłościć przyzwyczajenie "jaźń gojenie"
	'znaczenie: jeżeli ty używać USA notacja the miesiąc i dzień n różny lokacja (miesiąc-dzień-rok dla USA, dzień-miesiąc-rok dla EUR)
	'miejsce akcji używać jaki daktylowy format woleć, ale VBScript także sprawdzać the dzień/miesiąc jeżeli ono iść za 12
	'jeżeli ono który, dato che który daktylowy dzień przypuszczać. , Gdy ty nawracać szyk sznurek nawracać prowadzenie bałamutny wydajność: niektóre data być poprawny
	'ale dla data z dzień śrubować niż 12 rzecz śrubować niż.
	'Ponieważ I być w Europa, I używać dzień-miesiąc (7,2 i 5,2) ty móc móc dla USA datować (5,2 i 7,2 pozycja)
	'dodatkowo I zmuszać miejsce akcji the holenderski (1043) położenie wśród the pismo, dato che USA ) być 1033 (widzieć chodnikowiec)
	WMIDateToString = W połowie (dtmDate, 7, 2) & "/" & _ 	
	W połowie (dtmDate, 5, 2) & "/" & _ 					
	Lewica (dtmDate, 4) & ""  			
	'Czas na razie, gdy I potrzebować ono.	
'W połowie (dtmDate, 9, 2) & ": " & _ 
'W połowie (dtmDate, 11, 2) & ": " & _ 
'W połowie (dtmDate, 13, 2)
	WMIDateToString = CDate (WMIDateToString)
Końcówka Funkcja

Odpowiedź : sumujący ostatni hasło zmiana vbscript (Wymiana 2003 skrzynka pocztowa statystyki)

Tam  wydawać się żadny odmianowy własność od the objExchange_Mailbox klasa który zawierać że the skrzynka pocztowa tworzenie data. , I znajdować pismo który wydawać się pismo ty patrzeć dla:
http://community.spiceworks.com/how_to/show/739

Dla gdy the użytkownik trwać zmieniać ich hasło:
Ty potrzebować the własność od objUser, nie objExchange_Mailbox:

Ustalony objUser = GetObject ("LDAP: //CN=myerken, OU=management, DC=Fabrikam, DC=com")
dtmValue = objUser.PasswordLastChanged
WScript.echo "pwdLastSet być: " & dtmValue

Tak, że znaczyć ty musieć the użytkownik kojarzyć z the skrzynka pocztowa ty patrzeć i wtedy wyciągać the informacja od the użytkownik.
http://www.activxperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/users/#DetPasswSet.htm
Inne rozwiązania  
 
programming4us programming4us