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:
6:
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:
|
' ===============================================================
'Zweck: Jedes Exchange_Mailbox anzeigen, das für Austauschbediener gefunden wird,
'und alle Eigenschaften auf dem Exchange_Mailbox zeigen
'Gegenstände. Ausgang wird bedeutet, in Excel importiert zu werden. Er gibt Einblick in den Briefkastengrößen,
'Verbrauch etc.
'Anmerkung: die SelfADSI Web site auf großem Info über den Benutzergegenstand überprüfen: http://www.selfadsi.org/
'Änderung: cComputerName [Schnur] der Computer zum zurückzugreifen
'Ausgang: Zeigt den Namen von jedem Exchange_Mailbox und von Eigenschaften an
'Autor: Paul Weterings
'www.servercare.nl
'Datum: Februar 2006
'Rev: Februar 2007 v1.2 addierte Briefkastenart
'Rev: Änderungs-Datum des Juli 2009 v1.3 Handeling und Kommabegrenzung, addierte eMail und Benutzer arbeitsunfähiges Info
'Rev: August 2009 v1.4 örtlich festgelegter kleiner Typo
'Version 1.4
'===============================================================
Wahl ausdrücklich
'Konstanten für den NameTranslate Gegenstand.
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_1779 = 1
Const ADS_NAME_TYPE_DISPLAY = 4
Auf Störungs-Zusammenfassung zunächst
Const cWMINameSpace = „Wurzel/MicrosoftExchangeV2“
Const cWMIInstance = „Exchange_Mailbox“
Schwache strWinMgmts 'Anschlussschnur für WMI
Schwaches objWMIExchange 'Gegenstand Austausch-namespace-WMI
Schwache listExchange_Mailboxs 'ExchangeLogons Ansammlung
Schwaches objExchange_Mailbox 'ein einzelner ExchangeLogon WMI Gegenstand
Schwaches strEmail, strUserInfo, strServerName, objUser, objTrans, strUserDN
'WMIDateToString Funktion sehen
SetLocale (1043)
objUser = CreateObject („Scripting.Dictionary“) einstellen
Wenn WScript.Arguments.Count > 0 dann
strServerName = WScript.Arguments.Item (0)
'WScript.echo „, das Austauschbediener überprüft: “ u. strServername
'Die Gegenstandschnur herstellen und WMI (winmgmts), using anzeigen
'gegenwärtige Benutzerbescheinigungen (impersonationLevel=impersonate),
'auf dem Computer spezifiziert im variabele strServerName und
'using das CIM-namespace für den Austauschversorger.
strWinMgmts = „winmgmts: {impersonationLevel=impersonate}! /„u. strServerName&“/„&cWMINameSpace
objWMIExchange = GetObject (strWinMgmts) einstellen
'Überprüfen, dass wir in der Lage waren, den Gegenstand richtig einzustellen.
Wenn Err.Number <> 0 dann
WScript.Echo „STÖRUNG: Nicht imstande, an das WMI namespace anzuschließen.“ U. Err.Description
Err.Clear
Sonst
'
'Die Betriebsmittel, die z.Z. existieren, erscheinen als Liste von
'Exchange_Mailbox Fälle im Austauschnamespace.
listExchange_Mailboxs = objWMIExchange.InstancesOf (cWMIInstance) einstellen
'
'Wurden irgendwelche Exchange_Mailbox Fälle zurückgebracht?
Wenn (listExchange_Mailboxs.count > 0) dann
'Wenn ja, das folgende tun:
'Überschrift drucken und durch die Liste der Exchange_Mailbox Gegenstände wiederholen.
WScript.echo „Benutzername; Tage nicht verwendet; Einzelteile; Bandmitten-Größe; Briefkastenspeicher; Briefkasten-Art; Benutzer sperrte; Primär-eMail“
Für jedes objExchange_Mailbox in den listExchange_Mailboxs
objUser = Null
strUserInfo = ""
'Den NameTranslate Gegenstand benutzen, um den Anzeigen-Namen in umzuwandeln
'Bemerkenswerter Name erfordert für den LDAP Versorger.
'http://www.rlmueller.net/NameTranslateFAQ.htm sehen
objTrans = CreateObject („NameTranslate“) einstellen
'NameTranslate initialisieren, indem Sie den globalen Katalog lokalisieren.
objTrans.Init ADS_NAME_INITTYPE_GC, ""
'Die Satzmethode anwenden, um das NT-Format des Gegenstandnamens zu spezifizieren.
objTrans.Set ADS_NAME_TYPE_DISPLAY, objExchange_Mailbox.MailboxDisplayName
'Die erhaltenmethode anwenden, um den unterschiedenen Namen RPC-1779 zurückzuholen.
strUserDN = objTrans.Get (ADS_NAME_TYPE_1779)
'Überprüfendes WScript.Echo „: “ u. objExchange_Mailbox.MailboxDisplayName
'An den Benutzergegenstand im aktiven Verzeichnis mit dem LDAP Versorger binden.
objUser = GetObject einstellen („LDAP: /“ u. strUserDN)
Wenn Err.Number <> 0 dann
WScript.Echo „Problem, das Gegenstand“ u. strUserDN u. „Störung erhält: “ U. Err.Nr u. „: “ U. Err.Description
Err.Clear
Beenden wenn
'Lässt jetzt Anzeige alle Informationen finden, merken dass nur letzte Liniengebrauch die Übersetzung.
'die crappy ANZEIGEN-Namen überspringen, die sehr lange Schnüre u. höchstwahrscheinliche nicht Benutzer sind
wenn (objExchange_Mailbox.MailboxDisplayName) < 40 dann len
'Benutzerinformationsschnur errichten
strUserInfo = objExchange_Mailbox.MailboxDisplayName u. _
„; “ U. DateValue (jetzt) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime)) &_
„; “ u. objExchange_Mailbox.TotalItems u. _
„; “ u. objExchange_Mailbox.Size u. _
„; “ u. objExchange_Mailbox.StoreName &_
„; “ u. objUser.Title &_
„; “ u. objUser.AccountDisabled
'Die Benutzer Primär-smtp-Adresse finden, wir müssen gehen die Reihe von Adressen
Für jedes strEmail in objUser.proxyAddresses
wenn (strEmail, „smtp-“) > 0 dann 'Kappen InStr für Primäradressen verwendet werden
strUserInfo = strUserinfo u. „; “ U. recht (strEmail, Len (strEMail) - 5)
Beenden wenn
Zunächst
wenn Len (strUserInfo) > 1 dann
'WScript.echo strUserInfo
WScript.StdOut.Write objExchange_Mailbox.MailboxDisplayName
'Nicht Vorschreiben, wenn Benutzer nie anmeldete
Wenn Len (objExchange_Mailbox.LastLogonTime) > 0 dann
WScript.StdOut.Write „; “ U. DateValue (jetzt) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime))
Sonst
WScript.StdOut.Write „; -“
Beenden wenn
WScript.StdOut.Write „; “ u. objExchange_Mailbox.TotalItems
WScript.StdOut.Write „; “ u. objExchange_Mailbox.Size
WScript.StdOut.Write „; “ u. objExchange_Mailbox.StoreName
WScript.StdOut.Write „; “ u. objUser.Title
WScript.StdOut.Write „; “ u. objUser.AccountDisabled
Für jedes strEmail in objUser.proxyAddresses
wenn (strEmail, „smtp-“) > 0 dann 'Kappen InStr für Primäradressen verwendet werden
'strUserInfo = strUserinfo u. „; “ U. recht (strEmail, Len (strEMail) - 5)
WScript.StdOut.Write „; “ U. recht (strEmail, Len (strEMail) - 5)
Beenden wenn
Zunächst
WScript.StdOut.WriteLine
Beenden wenn
Beenden wenn
Zunächst
Sonst
'Wenn keine Exchange_Mailbox Fälle zurückgebracht wurden,
'das anzeigen.
WARNENDES WScript.Echo „: Keine Exchange_Mailbox Fälle wurden zurückgebracht.“
Beenden wenn
Beenden wenn
Sonst
WScript.echo „Argument: Servername“
WScript.echo „, wo Servername der NetBIOS-Name des Austauschbedieners ist, den Sie verzeichnen möchten“
Beenden wenn
'******************************************************************************
Funktion WMIDateToString (dtmDate)
'Merken, dass die Umwandlungsprogramme der Schnur bis jetzt in VBScript haben die ärgerliche Gewohnheit des Seins „das heilende Selbst“
'Bedeutung: wenn Sie US-Darstellung benutzen, werden der Monat und der Tag n eine andere Position (Monat-Tagjahr für US, Tag-Monatjahr für Eur)
'Schauplatz wird benutzt, um zu überprüfen, welches Datumformat bevorzugt ist, aber VBScript überprüft auch die Tage/die Monate, um zu sehen, wenn es hinter 12 geht
'wenn es, das, denn, das datieren, Tag vorausgesetzt wird. Jedoch wenn Sie eine Reihe Schnüre umwandeln, führt dieses zu verwirrenden Ausgang: einige Daten sind korrekt
'aber für Daten mit Tagen werden weniger als 12 Sachen oben geschraubt.
'Da ich in Europa bin, verwende ich Tagmonat (7.2 und 5.2), das Sie dieses für US ändern wünschen können datieren (5.2 und 7.2 Positionen)
'zusätzlich zwinge ich Schauplatz, um die holländischen (1043) Einstellungen innerhalb des Indexes zu benutzen, denn US dieses sind 1033 (Überschrift sehen)
WMIDateToString = mittler (dtmDate, 7, 2) u. „/“ u. _
Mittler (dtmDate, 5, 2) u. „/“ u. _
Links (dtmDate, 4) u. „„
'Überspringende Zeit fürs Erste, da ich es nicht benötige.
'Mittler (dtmDate, 9, 2) u. „: “ u. _
'Mittler (dtmDate, 11, 2) u. „: “ u. _
'Mittler (dtmDate, 13, 2)
WMIDateToString = CDate (WMIDateToString)
Enden-Funktion
|