Cuestión : agregando el cambio pasado de la contraseña al vbscript (que exporta las estadísticas 2003 de la caja del intercambio)

¿puede alguien ayudarme por favor a agregar dos parámetros a esta gran escritura de los vbs de Paul Weterings? el

What que necesito además es el date

thanks del cambio de la contraseña del date
> de la creación de la caja del
> para su help
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
id= " codeSnippet795354 " class= " del
 ' =============================================================== 
'Propósito: Exhibir cada Exchange_Mailbox encontrado para el servidor del intercambio, 
'y demostrar todas las características en el Exchange_Mailbox 
'objetos. La salida se significa para ser importada en Excel. Dará la penetración de tamaños de la caja, 
'uso etc. 
'Nota: comprobar el Web site de SelfADSI para saber si hay el gran Info sobre el objeto de usuario: http://www.selfadsi.org/ 
'Cambio: cComputerName [secuencia] la computadora a tener acceso 
'Salida: Exhibe el nombre de cada Exchange_Mailbox y de características 
'Autor: Paul Weterings 
'www.servercare.nl
'Fecha: febrero de 2006 
'Rev: caja-tipo agregado v1.2 de febrero de 2007 
'Rev: el handeling de la fecha del cambio de julio de 2009 v1.3 y delimitación de la coma, email agregado e Info inhabilitado usuario
'Rev: error tipográfico fijo de agosto de 2009 v1.4 pequeño
'Versión 1.4
'=============================================================== 
opción explícita
'Constantes para el objeto de NameTranslate. 
Const ADS_NAME_INITTYPE_GC = 3 
Const ADS_NAME_TYPE_NT4 = 3 
Const ADS_NAME_TYPE_1779 = 1 
Const ADS_NAME_TYPE_DISPLAY = 4

En curriculum vitae del error después 
cWMINameSpace de Const = “raíz/MicrosoftExchangeV2” 
cWMIInstance de Const = “Exchange_Mailbox” 

Secuencia de la conexión de los strWinMgmts déviles 'para WMI 
Objeto del namespace WMI del intercambio del objWMIExchange dévil ' 
Colección de ExchangeLogons de los listExchange_Mailboxs déviles ' 
objExchange_Mailbox dévil 'un solo objeto de ExchangeLogon WMI 
strEmail dévil, strUserInfo, strServerName, objUser, objTrans, strUserDN

'Ver la función de WMIDateToString
SetLocale (1043)
Fijar el objUser = CreateObject (“Scripting.Dictionary”) 

Si WScript.Arguments.Count > 0 entonces 
	strServerName = WScript.Arguments.Item (0) 
	'WScript.echo el “que comprueba servidor del intercambio: ” y strServername 
	'Crear la secuencia del objeto, indicando WMI (winmgmts), usar 
	'credenciales actuales del usuario (impersonationLevel=impersonate), 
	'en la computadora especificada en el strServerName del variabele, y 
	'usar el namespace del CIM para el abastecedor del intercambio. 
	strWinMgmts = “winmgmts: ¡{impersonationLevel=impersonate}! /“y”/“del strServerName& &cWMINameSpace 
	Fijar el objWMIExchange = GetObject (los strWinMgmts) 
	'Verificar que pudiéramos fijar correctamente el objeto. 
	Si <> 0 de Err.Number entonces 
		ERROR de WScript.Echo “: Incapaz de conectar con el namespace de WMI.” Y Err.Description
		Err.Clear
	 
		' 
		'Los recursos que existen actual aparecen como lista de 
		'Casos de Exchange_Mailbox en el namespace del intercambio. 
		Fijar los listExchange_Mailboxs = objWMIExchange.InstancesOf (el cWMIInstance) 
		' 
		¿'Casos de Exchange_Mailbox fueron vueltos? 
		Si (listExchange_Mailboxs.count > 0) entonces 
			'Si sí, hacer el siguiente: 
			'Imprimir el jefe e iterarlo a través de la lista de objetos de Exchange_Mailbox. 
			Nombre de usuario de WScript.echo “; Días no usados; Artículos; Tamaño del Mb; Almacén de la caja; Tipo de la caja; El usuario inhabilitó; Email primario” 
			Para cada objExchange_Mailbox en listExchange_Mailboxs 
				objUser = falta de información
				strUserInfo = ""
				'Utilizar el objeto de NameTranslate para convertir el nombre de la exhibición a 
				'Nombre distinguido requerido para el abastecedor de LDAP. 
				'Ver http://www.rlmueller.net/NameTranslateFAQ.htm 
				Fijar los objTrans = CreateObject (“NameTranslate”) 
				'Inicializar NameTranslate localizando el catálogo global. 
				objTrans.Init ADS_NAME_INITTYPE_GC, "" 
				'Utilizar el método del sistema para especificar el formato del NT del nombre de objeto. 
				objTrans.Set ADS_NAME_TYPE_DISPLAY, objExchange_Mailbox.MailboxDisplayName 
				'Utilizar el método del conseguir para recuperar el nombre distinguido del RPC 1779. 
				strUserDN = objTrans.Get (ADS_NAME_TYPE_1779) 
				'WScript.Echo “que comprueba: ” y objExchange_Mailbox.MailboxDisplayName
				'Atar al objeto de usuario en directorio activo con el abastecedor de LDAP.				
				Fijar el objUser = GetObject (“LDAP: /” y strUserDN) 
				Si <> 0 de Err.Number entonces
					Problema de WScript.Echo “que consigue objeto” y strUserDN y “error: ” Y Err.Nr y “: ” Y Err.Description
					Err.Clear
				Terminar si
				'Ahora deja la exhibición toda la información encontrar, observan que solamente usos en línea pasado la traducción. 
				'saltar los nombres malos del ANUNCIO que son secuencias muy largas y no usuarios más probable
				si entonces len (objExchange_Mailbox.MailboxDisplayName) < 40 
					'Construir la secuencia de la información de usuario
					strUserInfo = objExchange_Mailbox.MailboxDisplayName y _
					“; ” Y DateValue (ahora) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime)) &_ 
					“; ” y objExchange_Mailbox.TotalItems y _ 
					“; ” y objExchange_Mailbox.Size y _ 
					“; ” y &_ de objExchange_Mailbox.StoreName 
					“; ” y &_ de objUser.Title
					“; ” y objUser.AccountDisabled
					'Encontrar la dirección primaria del smtp de los usuarios, nosotros necesitan caminar el arsenal de direcciones
					Para cada strEmail en objUser.proxyAddresses
						si (strEmail, los casquillos InStr del “smtp”) > 0 entonces 'se utilizan para las direcciones primarias
							strUserInfo = strUserinfo y “; ” Y derecho (strEmail, Len (strEMail) - 5)
						Terminar si
					Después
					si Len (strUserInfo) > 1 entonces
					'strUserInfo de WScript.echo
					
					WScript.StdOut.Write objExchange_Mailbox.MailboxDisplayName
					'No mandatario si el usuario nunca abrió una sesión
					Si Len (objExchange_Mailbox.LastLogonTime) > 0 entonces
						WScript.StdOut.Write “; ” Y DateValue (ahora) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime))
					
						WScript.StdOut.Write “; -”
					Terminar si
					WScript.StdOut.Write “; ” y objExchange_Mailbox.TotalItems
					WScript.StdOut.Write “; ” y objExchange_Mailbox.Size
					WScript.StdOut.Write “; ” y objExchange_Mailbox.StoreName
					WScript.StdOut.Write “; ” y objUser.Title
					WScript.StdOut.Write “; ” y objUser.AccountDisabled
					Para cada strEmail en objUser.proxyAddresses
						si (strEmail, los casquillos InStr del “smtp”) > 0 entonces 'se utilizan para las direcciones primarias
							'strUserInfo = strUserinfo y “; ” Y derecho (strEmail, Len (strEMail) - 5)
							WScript.StdOut.Write “; ” Y derecho (strEmail, Len (strEMail) - 5)
						Terminar si
					Después
					WScript.StdOut.WriteLine
					Terminar si
				Terminar si
			Después 
		 
			'Si no se volvió ningunos casos de Exchange_Mailbox, 
			'exhibir eso. 
			WScript.Echo “QUE ADVIERTE: No se volvió ningunos casos de Exchange_Mailbox.” 
		Terminar si 
	Terminar si 
 
	Discusión de WScript.echo “: Servername” 
	WScript.echo “donde está el nombre Servername de NetBIOS del servidor del intercambio que usted quiere enumerar” 
Terminar si 
'****************************************************************************** 
Función WMIDateToString (dtmDate)
	'Observar que las rutinas de conversión de la secuencia hasta la fecha en VBScript tienen el hábito molesto de ser “uno mismo que cura”
	'significado: si usted está utilizando la notación de los E.E.U.U. el mes y el día n una diversa localización (mes-día-año para los E.E.U.U., día-mes-año para el EUR)
	la 'escena se está utilizando para comprobar qué formato de fecha es preferred, pero VBScript también comprobará los días/los meses para ver si va más allá de 12
	'si él se presume que, porque que fecha día. Sin embargo, cuando usted convierte un arsenal de secuencias esto lleva a la salida confusa: algunas fechas están correctas
	'pero por fechas con días menos de 12 cosas serán estropeadas.
	'Puesto que estoy en Europa, estoy utilizando día-mes (7.2 y 5.2) que usted puede querer cambiar esto para los E.E.U.U. fecha (5.2 y 7.2 posiciones)
	'estoy forzando además la escena para utilizar (los 1043) ajustes holandeses dentro de la escritura, porque los E.E.U.U. esto son 1033 (véase el jefe)
	WMIDateToString = mediados de (dtmDate, 7, 2) y “/” y _ 	
	Mediados de (dtmDate, 5, 2) y “/” y _ 					
	Izquierda (dtmDate, 4) y ““  			
	'Hora que salta para ahora, pues no lo necesito.	
'Mediados de (dtmDate, 9, 2) y “: ” y _ 
'Mediados de (dtmDate, 11, 2) y “: ” y _ 
'Mediados de (dtmDate, 13, 2)
	WMIDateToString = CDate (WMIDateToString)
Función del final
class= del

Respuesta : agregando el cambio pasado de la contraseña al vbscript (que exporta las estadísticas 2003 de la caja del intercambio)

No parece haber características específicas de la clase del objExchange_Mailbox que contiene que la fecha de creación de la caja. Sin embargo, encontré una escritura que parece hacer lo que usted está buscando:
http://community.spiceworks.com/how_to/show/739

En cuanto a cuando los usuarios cambiaron por último sus contraseñas:
Usted necesitaría asir las características del objUser, no objExchange_Mailbox:

Fijar el objUser = GetObject (“LDAP: //CN=myerken, OU=management, DC=Fabrikam, DC=com”)
dtmValue = objUser.PasswordLastChanged
pwdLastSet de WScript.echo el “es: ” y dtmValue

De modo que significara usted tendría que encontrar al usuario asociado a la caja que usted está mirando y entonces sacar la información del usuario.
http://www.activxperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/users/#DetPasswSet.htm
Otras soluciones  
 
programming4us programming4us