一个关于操作局域网的类

 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">" &amp; Domain.Name &amp; "</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">" &amp; Computer.Name &amp; "</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">" &amp; User.Name &amp; "</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">" &amp; Group.Name &amp; "</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">" &amp; User.Name &amp; "</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  
Published At
Categories with Web编程
Tagged with
comments powered by Disqus