我正在尝试连接到Active Directory以查找特定用户,编辑该用户的属性并保存更改。看起来像一个简单的任务,但我很难把这个东西放在一起。
我尝试过使用VBscript,虽然看起来可以做到,但我必须以明文形式添加管理员用户名和密码。这不是一个好主意。该脚本也是由无法访问Active Directory的常规用户触发的。因此,初始脚本需要触发以域管理员身份运行的第二个脚本。
有人给了我一个提示。创建脚本可以调用的网页或Windows服务。该服务或网页连接到AD并进行实际更改。我想Windows服务将是最干净的方式。
但我只有Visual Studio Express,似乎我无法用它创建一个Windows服务。初始脚本需要是vbscript,因为它是从只支持vbscript的软件运行的。
那么这里理想的解决方案是什么?是否有可能第一个vbscript收集所需的数据,将这些作为参数传递给第二个进行实际更改的vbscript?如果我需要更新比我现在需要的更多用户属性,那么vbscript将更容易维护。
我们也使用Sharepoint。也许我可以创建一个webpart,使用javascript来收集从初始vbscript传递的数据并以这种方式连接到AD?只是在这里集思广益,找到最合适的解决方案:)
答案 0 :(得分:2)
您需要在脚本中拥有管理员的用户名和密码这一事实应该向您指出您所要求的是通过默默无闻的安全性。在您的解决方案的某个地方,将会有一个硬编码的用户名和密码,或者在不授权客户端的情况下执行这些任务的程序。这些是我不惜一切代价避免的安全漏洞。
话虽如此,该服务可能是最不容易受到攻击的。即使VS Express没有模板it's not hard to create a service manually。使用WCF进行通信。将服务作为managed service account运行,并仅为该托管服务帐户授予执行其任务所需的权限。