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:
|
" codeBody "
" notpretty " ' ===============================================================
'Doel: Toon elke die Exchange_Mailbox voor de server van de Uitwisseling wordt gevonden,
'en toon alle eigenschappen op Exchange_Mailbox
'voorwerpen. De output moet in Excel worden ingevoerd. Het zal inzicht in brievenbusgrootte geven,
'gebruik enz.
'Nota: controleer de website SelfADSI grote info over het gebruikersvoorwerp: http://www.selfadsi.org/
'Verandering: cComputerName [koord] de computer aan toegang
'Output: Toont de naam van elke Exchange_Mailbox en eigenschappen
'Auteur: Paul Weterings
'www.servercare.nl
'Datum: februari 2006
'Omwenteling: februari 2007 v1.2 toegevoegd brievenbus-type
'Omwenteling: de datum van de juli 2009 v1.3 verandering het handeling en kommaafbakening, toegevoegde e-mail en gebruiker gehandicapte info
'Omwenteling: augustus 2009 v1.4 vaste kleine typo
'Versie 1.4
'===============================================================
expliciete optie
'Constanten voor het voorwerp 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
Op Fout hervat daarna
Const cWMINameSpace = „schiet/MicrosoftExchangeV2“ wortel
cWMIInstance van Const = „Exchange_Mailbox“
Koord van de schemerige strWinMgmts het 'Verbinding voor WMI
Voorwerp van Namespace WMI van de schemerige objWMIExchange het 'Uitwisseling
Inzameling van schemerige listExchange_Mailboxs de 'ExchangeLogons
Schemerige objExchange_Mailbox 'één enkel voorwerp van ExchangeLogon WMI
Schemerige strEmail, strUserInfo, strServerName, objUser, objTrans, strUserDN
'Zie functie WMIDateToString
SetLocale (1043)
Reeks objUser = CreateObject („Scripting.Dictionary“)
Als WScript.Arguments.Count > 0 toen
strServerName = WScript.Arguments.Item (0)
'WScript.echo die de „server van de Uitwisseling controleren: “ & strServername
'Cre�ër het objecten koord, die op WMI (winmgmts) wijzen, gebruiken
'huidige gebruikersgeloofsbrieven (impersonationLevel=impersonate),
'op de computer in variabele wordt gespecificeerd die strServerName, en
'gebruikend CIM namespace voor de leverancier van de Uitwisseling.
strWinMgmts = „winmgmts: {impersonationLevel=impersonate}! /„& strServerName&“/„&cWMINameSpace
Reeks objWMIExchange = GetObject (strWinMgmts)
'Verifi�ër wij plaatsten correct het voorwerp konden.
Als Err.Number <> 0 toen
WScript.Echo „FOUT: Onbekwaam om met WMI te verbinden namespace.“ & Err.Description
Err.Clear
Anders
'
De 'middelen die momenteel bestaan verschijnen als lijst van
'Instanties Exchange_Mailbox in de Uitwisseling namespace.
Reeks listExchange_Mailboxs = objWMIExchange.InstancesOf (cWMIInstance)
'
'Waren om het even welke Instanties Exchange_Mailbox teruggekeerd?
Als (listExchange_Mailboxs.count > 0) Dan
'Als ja, doe het volgende:
De 'kopbal van de druk en herhaalt door de lijst van voorwerpen Exchange_Mailbox.
WScript.echo de „naam van de Gebruiker; Gebruikte niet dagen; Punten; Mb Grootte; De opslag van de brievenbus; Het Type van brievenbus; Gehandicapte gebruiker; Primaire E-mail“
Voor Elke objExchange_Mailbox in listExchange_Mailboxs
objUser = verklaar nietig
strUserInfo = ""
'Gebruik het voorwerp NameTranslate om de Naam van de Vertoning in om te zetten
'Voorname die Naam voor de leverancier LDAP wordt vereist.
'Zie http://www.rlmueller.net/NameTranslateFAQ.htm
Plaats objTrans = CreateObject („NameTranslate“)
'Initialiseer NameTranslate door de van Globale Catalogus de plaats te bepalen.
objTrans.Init ADS_NAME_INITTYPE_GC, ""
'Gebruik de Vastgestelde methode om het formaat NT van de objecten naam te specificeren.
objTrans.Set ADS_NAME_TYPE_DISPLAY, objExchange_Mailbox.MailboxDisplayName
'Gebruik de Get methode om de Voorname Naam RPC 1779 terug te winnen.
strUserDN = objTrans.Get (ADS_NAME_TYPE_1779)
'WScript.Echo die „controleren: “ & objExchange_Mailbox.MailboxDisplayName
'Bind aan het gebruikersvoorwerp in Actieve Folder met de leverancier LDAP.
Plaats objUser = GetObject („LDAP: /“ & strUserDN)
Als Err.Number <> 0 toen
WScript.Echo „Probleem die voorwerp“ & strUserDN & „Fout krijgen: “ & Err.Nr & „: “ & Err.Description
Err.Clear
Eind als
'Laat nu vertoning al informatie vinden, opmerken dat slechts de laatste lijn de vertaling gebruikt.
'sla de waardeloze namen van de ADVERTENTIE over die zeer lange koorden & most likely niet gebruikers zijn
als len (objExchange_Mailbox.MailboxDisplayName) < 40 toen
'Bouw het koord van de gebruikersinformatie
strUserInfo = objExchange_Mailbox.MailboxDisplayName & _
„; “ & DateValue (nu) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime)) &_
„; “ & objExchange_Mailbox.TotalItems & _
„; “ & objExchange_Mailbox.Size & _
„; “ & objExchange_Mailbox.StoreName &_
„; “ & objUser.Title &_
„; “ & objUser.AccountDisabled
'Vind het gebruikers primaire adres SMTP, moeten wij de serie van adressen lopen
Voor Elke strEmail in objUser.proxyAddresses
als InStr (strEmail, „SMTP“) > 0 dan 'kappen voor primaire adressen wordt gebruikt
strUserInfo = strUserinfo & „; “ & Juist (strEmail, Len (strEMail) - 5)
Eind als
Daarna
als Len (strUserInfo) > 1 toen
'strUserInfo WScript.echo
WScript.StdOut.Write objExchange_Mailbox.MailboxDisplayName
'Niet verplicht als de gebruiker nooit het programma opende
Als Len (objExchange_Mailbox.LastLogonTime) > 0 toen
WScript.StdOut.Write „; “ & DateValue (nu) - DateValue (WMIDateToString (objExchange_Mailbox.LastLogonTime))
Anders
WScript.StdOut.Write „; -“
Eind als
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
Voor Elke strEmail in objUser.proxyAddresses
als InStr (strEmail, „SMTP“) > 0 dan 'kappen voor primaire adressen wordt gebruikt
'strUserInfo = strUserinfo & „; “ & Juist (strEmail, Len (strEMail) - 5)
WScript.StdOut.Write „; “ & Juist (strEmail, Len (strEMail) - 5)
Eind als
Daarna
WScript.StdOut.WriteLine
Eind als
Eind als
Daarna
Anders
'Als geen instanties Exchange_Mailbox waren teruggekeerd,
'toon dat.
WScript.Echo „WAARSCHUWING: Geen instanties Exchange_Mailbox waren teruggekeerd.“
Beëindig als
Beëindig als
Anders
WScript.echo „Argument: Servername“
WScript.echo „waar Servername de naam van Netbios van de server is van de Uitwisseling u wilt een lijst maken van“
Eind als
'******************************************************************************
Functie WMIDateToString (dtmDate)
'Merk op dat de routines van de koord tot op heden omzetting in VBScript de hebbelijkheid van het zijn „het zelf helen“ hebben
'betekenend: als u de aantekening gebruikt van de V.S. zullen de maand en de dag n een verschillende plaats (maand-dag-jaar voor de V.S., dag-maand-jaar voor EUR)
de 'scène wordt gebruikt om te controleren welk datumformaat de voorkeur heeft, maar VBScript zal ook de dagen/de maanden controleren om te zien of gaat het voorbij 12
'als het dat, voor die datum de dag wordt verondersteld. Nochtans, wanneer u een serie van koorden omzet leidt dit tot het verwarren van output: sommige data zijn correct
'maar voor data met dagen zullen minder dan 12 dingen worden verknoeid.
'Aangezien ik in Europa ben, gebruik ik dag-maand (7.2 en 5.2) u kan dit voor de data van de V.S. willen ruilen (5.2 en 7.2 posities)
'dwing ik bovendien scène om de Nederlandse (1043) montages binnen het manuscript, voor de V.S. te gebruiken dit 1033 (zie kopbal) is
WMIDateToString = Medio (dtmDate, 7, 2) & „/“ & _
Medio (dtmDate, 5, 2) & „/“ & _
Linkerzijde (dtmDate, 4) & „„
'Het overslaan tijd voor nu, aangezien ik het niet nodig heb.
'Medio (dtmDate, 9, 2) & „: “ & _
'Medio (dtmDate, 11, 2) & „: “ & _
'Medio (dtmDate, 13, 2)
WMIDateToString = CDate (WMIDateToString)
De Functie van het eind
|