比如好用,省的以后用了再去找
ActiveDirectoryHelper
1
public class ActiveDirectoryHelper
2
{
3
public static string RootPath = "";
4
public static string AdminUsername = "";
5
public static string AdminPassword = "";
6
public static DirectoryEntry GetDirectoryEntry(string path, string username, string password)
7
{
8
DirectoryEntry de = new DirectoryEntry();
9
de.Path = path;
10
de.Username = username;
11
de.Password = password;
12![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
RootPath = path;
14
AdminUsername = username;
15
AdminPassword = password;
16![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
return de;
18
}
19![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
public static string CreateNewUser(DirectoryEntry entry, ActiveDirectoryUser adUser, string groupName)
21
{
22
DirectoryEntries users = entry.Children;
23
DirectoryEntry newUser = users.Add("CN=" + adUser.LoginName, "user");
24![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
SetProperty(newUser, "employeeID", adUser.EmployeeID);
26
SetProperty(newUser, "SAMAccountName", adUser.LoginName);
27
SetProperty(newUser, "userPrincipalName", adUser.LoginName);
28![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
string password = SetPassword(newUser.Path);
30
newUser.CommitChanges();
31![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
EnableAccount(newUser);
33![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
AddUserToGroup(entry, newUser, groupName);
35![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
newUser.Close();
37
entry.Close();
38
return password;
39
}
40![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
public static void SetProperty(DirectoryEntry entry, string propertyName, string propertyValue)
42
{
43
if (!string.IsNullOrEmpty(propertyValue))
44
{
45
if (entry.Properties.Contains(propertyName))
46
{
47
entry.Properties[propertyName][0] = propertyValue;
48
}
49
else
50
{
51
entry.Properties[propertyName].Add(propertyValue);
52
}
53
}
54
}
55![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
public static string GetProperty(DirectoryEntry entry, string propertyName)
57
{
58
if (entry.Properties.Contains(propertyName))
59
return entry.Properties[propertyName][0].ToString();
60
else
61
return String.Empty;
62
}
63![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
public static string SetPassword(string path)
65
{
66
DirectoryEntry user = new DirectoryEntry();
67
user.Path = path;
68
user.AuthenticationType = AuthenticationTypes.Secure;
69
string password = "RandomPassword.Generate()";
70
object[] pw = new object[] { password };
71
object ret = user.Invoke("SetPassword", pw);
72
user.CommitChanges();
73
user.Close();
74
return password;
75
}
76![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
public static void EnableAccount(DirectoryEntry entry)
78
{
79
// UF_DONT_EXPIRE_PASSWD 0x0001
80
int exp = (int)entry.Properties["userAccountControl"].Value;
81
entry.Properties["userAccountControl"].Value = exp | 0x0001;
82
entry.CommitChanges();
83
// UF_ACCOUNTDISABLE 0x0002
84
int val = (int)entry.Properties["userAccountControl"].Value;
85
entry.Properties["userAccountControl"].Value = val & ~0x0002;
86
entry.CommitChanges();
87
}
88![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
public static void DisableAccount(DirectoryEntry rootEntry, string employeeID)
90
{
91
DirectorySearcher searcher = new DirectorySearcher(rootEntry);
92
searcher.Filter = "(&(objectCategory=Person)(objectClass=user)(employeeID=" + employeeID + "))";
93
searcher.SearchScope = SearchScope.Subtree;
94
SearchResult result = searcher.FindOne();
95![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
96
if (result != null)
97
{
98
DirectoryEntry entry = GetDirectoryEntry(result.Path, AdminUsername, AdminPassword);
99
int val = (int)entry.Properties["userAccountControl"].Value;
100
entry.Properties["userAccountControl"].Value = val | 0x0002;
101
entry.Properties["msExchHideFromAddressLists"].Value = "TRUE";
102
entry.CommitChanges();
103
entry.Close();
104
}
105![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
106
rootEntry.Close();
107
}
108![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
109
public static void AddUserToGroup(DirectoryEntry entry, DirectoryEntry entryUser, string groupName)
110
{
111
DirectorySearcher searcher = new DirectorySearcher();
112
searcher.SearchRoot = entry;
113
searcher.Filter = "(&(objectClass=group) (cn=" + groupName + "))";
114
SearchResultCollection results = searcher.FindAll();
115![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
116
bool isGroupMember = false;
117
if (results.Count > 0)
118
{
119
DirectoryEntry group = GetDirectoryEntry(results[0].Path, AdminUsername, AdminPassword);
120
object members = group.Invoke("Members", null);
121
foreach (object member in (IEnumerable)members)
122
{
123
DirectoryEntry x = new DirectoryEntry(member);
124
if (x.Name != entryUser.Name)
125
isGroupMember = false;
126
else
127
{
128
isGroupMember = true;
129
break;
130
}
131
}
132
if (!isGroupMember)
133
{
134
group.Invoke("Add", new object[] { entryUser.Path.ToString() });
135
}
136
group.Close();
137
}
138
return;
139
}
140![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
141
public static DirectoryEntry UserExists(DirectoryEntry entry, string username)
142
{
143
DirectorySearcher searcher = new DirectorySearcher(entry);
144
// searcher.Filter = "(&(objectClass=user)(cn=" + username + "))";
145
searcher.Filter = "(&(objectClass=user)(samAccountName=" + username + "))";
146
SearchResultCollection results = searcher.FindAll();
147
entry.Close();
148
if (results.Count == 0)
149
return null;
150
else
151
return results[0].GetDirectoryEntry();
152
}
153![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
154
public static ActiveDirectoryUser GetUserInformation(DirectoryEntry userEntry)
155
{
156
ActiveDirectoryUser adUser = new ActiveDirectoryUser();
157
adUser.EmployeeID = GetProperty(userEntry, "employeeID");
158
adUser.Email = GetProperty(userEntry, "mail");
159![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
userEntry.Close();
161
return adUser;
162
}
163![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
164
public static void UpdateUserInformation(DirectoryEntry rootEntry, ActiveDirectoryUser adUser)
165
{
166
DirectorySearcher searcher = new DirectorySearcher(rootEntry);
167
searcher.Filter = "(&(objectCategory=Person)(objectClass=user)(employeeID=" + adUser.EmployeeID + "))";
168
searcher.SearchScope = SearchScope.Subtree;
169
SearchResult result = searcher.FindOne();
170![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
171
if (result != null)
172
{
173
DirectoryEntry userEntry = result.GetDirectoryEntry();
174
// SetProperty(userEntry, "
175
}
176
rootEntry.Close();
177
}
178
}
179![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
实体类ActiveDirectoryUser
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
92
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
94
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
95
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
96
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
97
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
98
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
99
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
100
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
101
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
102
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
103
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
105
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
106
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
107
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
108
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
109
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
110
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
111
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
112
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
113
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
114
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
115
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
116
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
117
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
118
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
119
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
120
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
121
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
122
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
123
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
124
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
125
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
126
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
127
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
128
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
129
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
130
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
131
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
132
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
133
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
134
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
135
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
136
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
138
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
139
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
140
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
141
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
143
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
144
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
145
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
146
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
147
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
149
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
150
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
151
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
152
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
153
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
154
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
155
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
156
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
157
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
158
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
159
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
161
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
162
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
163
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
164
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
165
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
166
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
167
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
168
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
169
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
170
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
171
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
172
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
173
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
174
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
175
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
176
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
177
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
178
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
179
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
1
public class ActiveDirectoryUser
2
{
3
private string employeeID = "FPC00xxx";
4
public string EmployeeID
5
{
6
get { return employeeID; }
7
set
8
{
9
//Regex rx = new Regex(@"^FPC\d{5}");
10
//if (rx.IsMatch(value))
11
employeeID = value;
12
//else
13
// throw new ArgumentException("EmployeeID应该为FPCxxxxx,x代表数字", "EmployeeID");
14
}
15
}
16![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
private string loginName = "User";
18
public string LoginName
19
{
20
get { return loginName; }
21
set
22
{
23
Regex rx = new Regex("[0-9a-zA-Z]{3,10}");
24
if (rx.IsMatch(value))
25
loginName = value;
26
else
27
throw new ArgumentException("登录名应该是数字和字母的组合,并且在3-10个字符之间", "LoginName");
28
}
29
}
30![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
private string password = "Pass@word1";
32
public string Password
33
{
34
get { return password; }
35
set { password = value; }
36
}
37![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
private string email = "xxx@***.com.cn";
39
public string Email
40
{
41
get { return email; }
42
set { email = value; }
43
}
44
}
45![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)