Questione : aggiungendo l'ultimo cambiamento di parola d'accesso a vbscript (che esporta le statistiche 2003 della cassetta postale di scambio)

può qualcuno aiutarlo prego ad aggiungere due parametri a questo grande scritto dei vbs di Paul Weterings? il

What che ho bisogno di ulteriormente è date

thanks del cambiamento di parola d'accesso del date
> della creazione della cassetta postale del
> ultimo per il vostro help
class= > " libero " 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
 ' =============================================================== 
'Scopo: Visualizzare ogni Exchange_Mailbox trovato per l'assistente di scambio, 
'e mostrare tutte le proprietà sul Exchange_Mailbox 
'oggetti. L'uscita è destinata per essere importata in Excel. Darà la comprensione nei formati della cassetta postale, 
'uso ecc. 
'Nota: controllare il Web site di SelfADSI per vedere se c'è la grande Info circa l'oggetto di utente: http://www.selfadsi.org/ 
'Cambiamento: cComputerName [stringa] il calcolatore da accedere a 
'Uscita: Visualizza il nome di ogni Exchange_Mailbox e delle proprietà 
'Autore: Paul Weterings 
'www.servercare.nl
'Data: febbraio 2006 
'Rev: cassetta-tipo aggiunto v1.2 del febbraio 2007 
'Rev: handeling della data del cambiamento del luglio 2009 v1.3 e delimitazione di virgola, email aggiunto ed utente Info disabile
'Rev: typo fisso dell'agosto 2009 v1.4 piccolo
'Versione 1.4
'=============================================================== 
opzione esplicita
'Costanti per l'oggetto di 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

Sul riassunto di errore dopo 
cWMINameSpace di Const = “radice/MicrosoftExchangeV2„ 
cWMIInstance di Const = “Exchange_Mailbox„ 

Stringa del collegamento degli strWinMgmts fiochi 'per WMI 
Oggetto del namespace WMI di scambio del objWMIExchange fioco ' 
Accumulazione di ExchangeLogons dei listExchange_Mailboxs fiochi ' 
objExchange_Mailbox fioco 'un singolo oggetto di ExchangeLogon WMI 
strEmail fioco, strUserInfo, strServerName, objUser, objTrans, strUserDN

'Vedere la funzione di WMIDateToString
SetLocale (1043)
Regolare il objUser = CreateObject (“Scripting.Dictionary„) 

Se WScript.Arguments.Count > 0 allora 
	strServerName = WScript.Arguments.Item (0) 
	'WScript.echo “che controlla l'assistente di scambio: „ & strServername 
	'Generare la stringa dell'oggetto, indicante WMI (winmgmts), using 
	'credenziali correnti dell'utente (impersonationLevel=impersonate), 
	'sul calcolatore specificato nello strServerName del variabele e 
	'using il namespace di CIM per il fornitore di scambio. 
	strWinMgmts = “winmgmts: {impersonationLevel=impersonate}! /“&„/“dello strServerName& &cWMINameSpace 
	Regolare il objWMIExchange = GetObject (strWinMgmts) 
	'Verificare che abbiamo potuti regolare correttamente l'oggetto. 
	Se <> 0 di Err.Number allora 
		ERRORE di WScript.Echo “: Incapace di collegarsi al namespace di WMI.„ & Err.Description
		Err.Clear
	Altrimenti 
		' 
		'Le risorse che attualmente esistono compaiono come lista di 
		'Casi di Exchange_Mailbox nel namespace di scambio. 
		Regolare i listExchange_Mailboxs = objWMIExchange.InstancesOf (cWMIInstance) 
		' 
		'Dei casi di Exchange_Mailbox sono stati restituiti? 
		Se (listExchange_Mailboxs.count > 0) allora 
			'Se sì, fare quanto segue: 
			'Stampare l'intestazione e ripetere attraverso la lista degli oggetti di Exchange_Mailbox. 
			Nome di utente di WScript.echo “; Giorni usati; Articoli; Formato di Mb; Deposito della cassetta postale; Tipo della cassetta postale; L'utente ha reso invalido; Email primario„ 
			Per ogni objExchange_Mailbox nei listExchange_Mailboxs 
				objUser = posizione di segnale minimo
				strUserInfo = ""
				'Usare l'oggetto di NameTranslate per convertire il nome dell'esposizione in 
				'Nome distinto richiesto per il fornitore di LDAP. 
				'Vedere http://www.rlmueller.net/NameTranslateFAQ.htm 
				Regolare i objTrans = CreateObject (“NameTranslate„) 
				'Inizializzare NameTranslate individuando il catalogo globale. 
				objTrans.Init ADS_NAME_INITTYPE_GC, "" 
				'Usare il metodo dell'insieme per specificare la disposizione del NT del nome di oggetto. 
				objTrans.Set ADS_NAME_TYPE_DISPLAY, objExchange_Mailbox.MailboxDisplayName 
				'Usare il metodo di ottenere per richiamare il nome distinto del RPC 1779. 
				strUserDN = objTrans.Get (ADS_NAME_TYPE_1779) 
				'WScript.Echo “che controlla: „ & objExchange_Mailbox.MailboxDisplayName
				'Legare all'oggetto di utente nell'indice attivo con il fornitore di LDAP.				
				Regolare il objUser = GetObject (“LDAP: /„ & strUserDN) 
				Se <> 0 di Err.Number allora
					Problema di WScript.Echo “che ottiene oggetto„ & strUserDN & “errore: „ & Err.Nr & “: „ & Err.Description
					Err.Clear
				Concluder se
				'Ora lascia l'esposizione tutte le informazioni trovare, notano che soltanto l'ultima linea usi la traduzione. 
				'saltare i nomi disgustosi dell'ANNUNCIO che sono stringhe molto lunghe & non utenti più probabili
				se allora len (objExchange_Mailbox.MailboxDisplayName) < 40 
					'Costruire la stringa di informazioni di utente
					strUserInfo = objExchange_Mailbox.MailboxDisplayName & _
					“; „ & DateValue (ora) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime)) &_ 
					“; „ & objExchange_Mailbox.TotalItems & _ 
					“; „ & objExchange_Mailbox.Size & _ 
					“; „ & &_ di objExchange_Mailbox.StoreName 
					“; „ & &_ di objUser.Title
					“; „ & objUser.AccountDisabled
					'Trovare l'indirizzo primario dello smtp degli utenti, noi devono camminare l'allineamento degli indirizzi
					Per ogni strEmail in objUser.proxyAddresses
						se InStr (strEmail, protezioni “dello smtp„) > 0 allora 'sono usati per gli indirizzi primari
							strUserInfo = strUserinfo & “; „ & di destra (strEmail, Len (strEMail) - 5)
						Concluder se
					Dopo
					se Len (strUserInfo) > 1 allora
					'strUserInfo di WScript.echo
					
					WScript.StdOut.Write objExchange_Mailbox.MailboxDisplayName
					'Non mandatario se l'utente non entrasse mai
					Se Len (objExchange_Mailbox.LastLogonTime) > 0 allora
						WScript.StdOut.Write “; „ & DateValue (ora) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime))
					Altrimenti
						WScript.StdOut.Write “; -„
					Concluder se
					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
					Per ogni strEmail in objUser.proxyAddresses
						se InStr (strEmail, protezioni “dello smtp„) > 0 allora 'sono usati per gli indirizzi primari
							'strUserInfo = strUserinfo & “; „ & di destra (strEmail, Len (strEMail) - 5)
							WScript.StdOut.Write “; „ & di destra (strEmail, Len (strEMail) - 5)
						Concluder se
					Dopo
					WScript.StdOut.WriteLine
					Concluder se
				Concluder se
			Dopo 
		Altrimenti 
			'Se nessun caso di Exchange_Mailbox sia restituito, 
			'visualizzare quello. 
			WScript.Echo “che AVVERTE: Nessun caso di Exchange_Mailbox è stato restituito.„ 
		Concluder se 
	Concluder se 
Altrimenti 
	Discussione di WScript.echo “: Servername„ 
	WScript.echo “dove Servername è il nome di Netbios dell'assistente che di scambio volete elencare„ 
Concluder se 
'****************************************************************************** 
Funzione WMIDateToString (dtmDate)
	'Notare che le procedure di conversione della stringa fin qui in VBScript hanno l'abitudine fastidiosa di essere “auto che guarisce„
	'significato: se stiate usando la notazione degli Stati Uniti il mese ed il giorno n una posizione differente (mese-giorno-anno per gli Stati Uniti, giorno-mese-anno per EUR)
	'la scena sta usanda per controllare che disposizione di data è preferred, ma VBScript inoltre controllerà i giorni/mesi per vedere se va oltre 12
	'se esso che, dato che che data il giorno è presunto. Tuttavia, quando convertite un allineamento delle stringhe questo conduce ad uscita confusionaria: determinate date sono corrette
	'ma per le date con i giorni meno di 12 cose saranno avvitate in su.
	'Poiché sono in Europa, sto usando il giorno-mese (7.2 e 5.2) che potete volere cambiare questo per gli Stati Uniti datate (5.2 e 7.2 posizioni)
	'sto forzando ulteriormente la scena per usare (le 1043) regolazioni olandesi all'interno dello scritto, dato che gli Stati Uniti questo sono 1033 (vedere l'intestazione)
	WMIDateToString = metà di (dtmDate, 7, 2) & “/„ & _ 	
	Metà di (dtmDate, 5, 2) & “/„ & _ 					
	Parte di sinistra (dtmDate, 4) & ““  			
	'Tempo di salto per ora, poichè non lo ho bisogno.	
'Metà di (dtmDate, 9, 2) & “: „ & _ 
'Metà di (dtmDate, 11, 2) & “: „ & _ 
'Metà di (dtmDate, 13, 2)
	WMIDateToString = CDate (WMIDateToString)
Funzione di conclusione
class= del

Risposta : aggiungendo l'ultimo cambiamento di parola d'accesso a vbscript (che esporta le statistiche 2003 della cassetta postale di scambio)

Non ci sembrano essere proprietà specifiche dal codice categoria del objExchange_Mailbox che contiene che la data di creazione della cassetta postale. Tuttavia, ho trovato uno scritto che sembra fare che cosa state cercando:
http://community.spiceworks.com/how_to/show/739

Per quanto riguarda quando gli utenti hanno cambiato l'ultima volta le loro parole d'accesso:
Dovreste afferrare le proprietà da objUser, non objExchange_Mailbox:

Regolare il objUser = GetObject (“LDAP: //CN=myerken, OU=management, DC=Fabrikam, DC=com„)
dtmValue = objUser.PasswordLastChanged
Il pwdLastSet di WScript.echo “è: „ & dtmValue

In modo che significhi dovreste trovare l'utente connesso con la cassetta postale che state esaminando ed allora estrarre le informazioni dall'utente.
http://www.activxperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/users/#DetPasswSet.htm
Altre soluzioni  
 
programming4us programming4us