我们正在考虑使用部门编号属性是 Active Directory 中用户的属性。管理员可以使用 AD 用户和计算机管理单元的“属性编辑器”选项卡轻松编辑此属性。但是,是否可以将此属性(或其他属性)放在一般的或者组织选项卡?这使得为其他支持团队创建自定义 MMC 变得颇具挑战性。
目前我们处于森林/域 2008 级别。
谢谢
答案1
之前研究过这个问题,不,你问的问题不可能轻易解决。我想到最简单的解决方案是向右键单击上下文菜单添加自定义命令,并使用它来启动包含所需字段的自定义表单。然而,这仍然不是一件容易的事,它需要所有域控制器都有自定义代码才能工作。
如果您有兴趣,这里有一个链接,概述了如何创建上下文菜单以及自定义表单: http://reddini.blogspot.com/2011/07/additional-active-directory-context.html
就我而言,我选择使用 HTA 文件作为自定义表单,而不是 VBA,因为布局更加灵活。这样做的另一个好处是,它允许用户轻松访问您可能使用的任何自定义 AD 属性。
这是我创建的表单。我们用它来捕获 AD 中不包含字段的 3 条数据。我们将这些值保存在自定义属性中。
这是我用于上述窗口的代码。当然,您需要根据自己的需要对其进行调整。现有值通过上下文菜单提供的命令行参数传递。
<html>
<head>
<title>Employee Information</title>
<HTA:APPLICATION ID='Info'
SingleInstance='Yes'
SysMenu='No'
MaximizeButton='No'
MinimizeButton='No'
CloseButton='Yes'
SCROLLFLAT ='No'
SCROLL='No'
Border='Thin'
BORDERSTYLE ='simple'
INNERBORDER ='No'
Caption='Yes'
WindowState='Maximized'
APPLICATIONNAME='Employee Info'
Icon='%Windir%\explorer.exe'>
</head>
<SCRIPT LANGUAGE="VBScript">
window.resizeTo 410,340
Dim objSelectedUser
Dim args
Sub Window_OnLoad
args = Split(Info.commandline,"""")
Birthday.Value = "error"
HireDate.Value = "error"
EpicorID.Value = "error"
Set objSelectedUser = GetObject(args(3))
EpicorID.Value = objSelectedUser.epicorID
Birthday.Value = objSelectedUser.employeeBirthday
HireDate.Value = objSelectedUser.employeeHireDate
End Sub
Sub TestSub
if EpicorID.Value <> "" Then
objSelectedUser.Put "epicorID",EpicorID.Value
end if
if Birthday.Value <> "" Then
objSelectedUser.Put "EmployeeBirthday",Birthday.Value
end if
if HireDate.Value <> "" Then
objSelectedUser.Put "EmployeeHireDate",HireDate.Value
end if
objSelectedUser.SetInfo
MsgBox("Settings Saved")
Close
End Sub
Sub CloseWindow
Close
End Sub
</SCRIPT>
<body style="background:rgb(242,242,242); font-family:Calibri;">
<center>
<h3>Employee Information</h3>
<p style="border:solid 1px;">Current values are displayed. Enter new values and click "Save" to overwrite the old values.
Click "Cancel" to exit without making changes. Dates should be entered as MM/DD/YYYY.</p>
<table>
<tr>
<td align="right">Epicor ID:</td>
<td><input type="text" name="EpicorID" size="10"></td>
</tr>
<tr>
<td>Employee Birthdate:</td>
<td><input type="text" name="Birthday" size="20"></td>
</tr>
<tr>
<td>Employee Hire Date</td>
<td><input type="text" name="HireDate" size="20"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="right"><input id=runbutton type="button" value="Save" name="run_button" onClick="TestSub" style="width:100%;"></td>
<td><input id=runbutton type="button" value="Cancel/Exit" name="run_button" onClick="CloseWindow" style="width:100%;"></td>
</tr>
</table>
</center>
</body>