1
2'/*============================================================
3'/*此类是转贴于CoCoon.网址: http://www.ccopus.com/LeadBBS/Board/
4'/*此类可以获取操作局域网的相关信息
5'/*============================================================
6Class CC_Net_Tools
7'1. Domain Computers
8'1.1 Display all domains in the server NameSpace
9Sub PullAllDomains
10Dim objNameSpace
11Dim Domain
12Set objNameSpace = GetObject("WinNT:")
13For Each Domain in objNamespace
14Response.Write "
<span style="width:200px">" & Domain.Name & "</span>
1"
2Next
3End sub
4
5'1.2 Display all Connected Computers on the Primary Domain Controller
6Sub PullAllComputers(strDomain)
7Dim PrimDomainContr
8Set PrimDomainContr = getobject("WinNT://" & strDomain)
9PrimDomainContr.filter = Array("Computer")
10For each Computer in PrimDomainContr
11Response.Write "
<span style="width:200px">" & Computer.Name & "</span>
1"
2Next
3End sub
4
5'1.3 Remove a Connected Computer from a Primary Domain Controller
6Sub DelComputerFromPDC(strDomain,strDelComputer)
7Dim PrimDomainContr
8Set PrimDomainContr = getobject("WinNT://" & strDomain)
9Call PrimDomainContr.Delete("Computer", strDelComputer)
10End Sub
11
12'2. Computer Users
13'2.1 Display all user accounts
14sub PullAllUsers(strDomain)
15Dim Computer
16Dim User
17Set Computer = GetObject("WinNT://" & strDomain)
18Computer.Filter = Array("User")
19For Each User in Computer
20Response.Write "
<span style="width:200px">" & User.Name & "</span>
1"
2Next
3End Sub
4
5'2.2 Display Minimum Password Age
6Sub DispMinPassAge(strDomain)
7Dim Computer
8Set Computer = GetObject("WinNT://" & strDomain)
9Response.Write ((Computer.MinPasswordAge) / 86400)
10End Sub
11
12'2.3 Display Minimum Password Length
13Sub DispMinPassLength(strDomain)
14Dim Computer
15Set Computer = GetObject("WinNT://" & strDomain)
16Response.Write Computer.MinPasswordLength
17End Sub
18
19'2.4 Display Password History Length
20Sub DispPassHisLength(strDomain)
21Dim Computer
22Set Computer = GetObject("WinNT://" & strDomain)
23Response.Write Computer.PasswordHistoryLength
24End Sub
25
26'2.5 Display Auto Unlock Interval
27Sub DispAutoUnlock(strDomain)
28Dim Computer
29Set Computer = GetObject("WinNT://" & strDomain)
30Response.Write Computer.AutoUnlockInterval
31End Sub
32
33'2.6 Display Lockout Observation Interval
34Sub DispAutoUnlockObservation(strDomain)
35Dim Computer
36Set Computer = GetObject("WinNT://" & strDomain)
37Response.Write Computer.LockOutObservationInterval
38End Sub
39
40
41'3. Computer Groups
42'3.1 Display All Groups
43Sub PullAllGroups(strDomain)
44Dim Computer
45Dim Group
46Set Computer = GetObject("WinNT://" & strDomain)
47Computer.Filter = Array("Group")
48For Each Group in Computer
49Response.Write "
<span style="width:200px">" & Group.Name & "</span>
1"
2Next
3End Sub
4
5
6'4. User Specific Fields
7'4.1 Display User Fullname
8Sub PullUserFullname(strDomain,strUser)
9Dim User
10Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
11Response.Write User.Fullname
12End sub
13
14'4.2 Display User Description
15Sub PullUserDescription(strDomain,strUser)
16Dim User
17Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
18Response.Write User.Description
19End sub
20
21'4.3 Display User Must Change Password Flag
22Sub PullUserMustChangePass(strDomain,strUser)
23Dim User
24Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
25Response.Write User.Get("PasswordExpired") '// 1 Means the Password Expired
26End Sub
27
28'4.4 Display User Can't Change Password Flag
29Sub PullUserCannotChangePass(strDomain,strUser)
30Dim User
31Dim Flags
32Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
33Flags = User.Get("UserFlags")
34Response.Write Flags And &H00040 '// 0 Means that user CAN change pass
35End sub
36
37'4.5 Display Password Never Expires Flag
38Sub PullPassNeverExpires(strDomain,strUser)
39Dim User
40Dim Flags
41Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
42Flags = User.Get("UserFlags")
43Response.Write Flags And &H10000 '// 0 Means that Password DOES expire
44End sub
45
46'4.6 Display User Password Minimum Length
47Sub PullUserPassMinLength(strDomain,strUser)
48Dim User
49Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
50Response.Write User.PasswordMinimumLength
51End Sub
52
53'4.7 Display User Password Required
54Sub PullUserPassRequired(strDomain,strUser)
55Dim User
56Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
57Response.Write User.PasswordRequired
58End Sub
59
60'4.8 Display User Account Disabled Flag
61Sub PullUserAccountDisabled(strDomain,strUser)
62Dim User
63Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
64Response.Write User.AccountDisabled
65End Sub
66
67'4.9 Display User Account Lockout Flag
68Sub PullUserAccountLockout(strDomain,strUser)
69Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
70Response.Write User.IsAccountLocked
71End Sub
72
73
74
75'4.10 Display User Account Type
76Sub PullUserAccountType(strDomain,strUser)
77Dim User
78Dim Flags
79Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
80Flags = User.Get("UserFlags")
81Response.Write Flags And &H100'// 0 Means that account is GLOBAL
82End sub
83
84'4.11 Display User Profile Path
85Sub PullUserProfilePath(strDomain,strUser)
86Dim User
87Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
88Response.Write User.Profile
89End Sub
90
91'4.12 Display User Login Script
92Sub PullUserLoginScript(strDomain,strUser)
93Dim User
94Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
95Response.Write User.LoginScript
96End Sub
97
98'4.13 Display User Home Directory Path
99Sub PullUserHomeDirPath(strDomain,strUser)
100Dim User
101Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
102Response.Write User.HomeDirectory
103End Sub
104
105'4.14 Display User Home Directory Mapping
106Sub PullUserHomeDirDrive(strDomain,strUser)
107Dim User
108Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
109Response.Write User.Get("HomeDirDrive")
110End Sub
111
112'4.15 Display User Account Expiration Date (NT 4.0 only)
113Sub PullUserAccountExpireDate(strDomain,strUser)
114Dim User
115Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
116Response.Write User.AccountExpirationDate
117End Sub
118
119'4.16 Display User Bad Login Count (NT 4.0 only)
120Sub PullUserBadLoginCount(strDomain,strUser)
121Dim User
122Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
123Response.Write User.BadLoginCount
124End Sub
125
126'4.17 Display User Last Login (NT 4.0 only)
127Sub PullUserLastLogin(strDomain,strUser)
128Dim User
129Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
130Response.Write User.LastLogin
131End Sub
132
133'4.18 Display User Last Logoff (NT 4.0 only)
134Sub PullUserLastLogoff(strDomain,strUser)
135Dim User
136Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
137Response.Write User.LastLogoff
138End Sub
139
140'4.19 Display User Last Logoff (NT 4.0 only)
141Sub PullUserLastLogoff1(strDomain,strUser)
142Dim User
143Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
144Response.Write User.LastLogoff
145End Sub
146
147'4.20 Display User Logon Hours Restriction(NT 4.0 only)
148Sub PullUserLogonHourRestriction(strDomain,strUser)
149Dim User
150Dim RegTime
151Dim Restrict
152Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
153For Each RegTime In User.LoginHours
154If RegTime < 255 Then Restrict = True
155Next
156Response.Write Restrict
157End Sub
158
159
160'5. Group Specific Fields
161'5.1 Display All Users in a Group
162Sub PullAllUserFromGroup(strDomain,strGroup)
163Dim Group
164Dim User
165Set Group = GetObject("WinNT://" & strDomain & "/" & strGroup & ",group")
166For Each User in Group.Members
167Response.Write "
<span style="width:200px">" & User.Name & "</span>
1"
2Next
3End Sub
4
5'5.2 Display if a Users is listed in a Group
6Sub DispUserInGroup(strDomain,strGroup,strUser)
7Dim Group
8Dim User
9Set Group = GetObject("WinNT://" & strDomain & "/" & strGroup & ",group")
10Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
11Response.Write Group.IsMember(User.ADsPath)
12End Sub
13
14'5.2 Display Group Description
15
16Sub PullGroupDescription(strDomain,strGroup,strUser)
17Dim Group
18Set Group = GetObject("WinNT://" & strDomain & "/" & strGroup & ",group")
19Response.Write Group.Description
20End Sub
21
22'5.2 Display Which Group a User is Listed in
23Sub DispUserInWhichGroup(strDomain,strGroup,strUser)
24Dim Group
25Dim User
26Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
27For Each Group in User.Groups
28Response.Write Group.Name
29Next
30End Sub
31End Class
32