VBScript在目录中查找用户;返回结果(已找到或未找到)
VBScript Locate user in Directory; Return results (Found or Not Found)
我想首先为没有包含任何代码而道歉。VBScript完全超出了我的知识范围,我被要求在工作中使用它作为一个小程序。
目标:我被要求搜索活动目录的一部分(我被告知它是我们活动目录中的OU),并将试图登录计算机的用户与OU进行比较。如果那个人确实存在于指定的OU中,我需要做点什么。如果这个人不存在,我需要做其他事情。
具体情况:我在一家医院工作。这样做的目的是防止护士使用为楼层医生指定的笔记本电脑。当护士登录到所述计算机时,如果登录的人存在于"医师"OU(即我的OU)中,则继续登录,否则将该人注销(即在Imprivata中键入F4)。话虽如此,我们使用了一个名为Imprivata的程序,当用户刷徽章时,该程序会将其登录。Imprivata还可以执行按键操作,如输入用户密码、单击按钮等。Imprivatta程序允许在后台用VBScript、WSH和我相信的JavaScript编写代码,然后在存在条件时执行(用户登录计算机)。不幸的是,我对这些语言一无所知。
一个星期以来,我一直在网上搜索,尝试不同的东西,但没有运气。事实上,我甚至已经接近任何工作,所以任何帮助都将不胜感激,我再次为缺乏代码道歉。
最简单的事情是获取当前用户的OU,这可以通过完成
Set objSysInfo = CreateObject("ADSystemInfo")
strUserName = objSysInfo.UserName
现在,您可以检查您的医生OU是否参与其中。当然,这与检查该用户是否在医生组织单位并不完全相同,因为在某些情况下,两个组织单位中可能存在相同的用户名。然而,如果两个OU中的同一用户发生了某种情况,那么无论哪种情况,您都会遇到问题。
在获得用户后,OU只需进行简单的字符串比较。我总是为使用一个小助手功能
Function contains(sourceStr, checkStr)
contains=InStr(1, sourceStr, checkStr, vbTextCompare) > 0
End Function
如果一个字符串是另一个字符串的子字符串,那么这只不过是一个不区分大小写的检查。所以
contains(strUserName, "OU=Finance,OU=North America,OU=Pacific Coast,dc=fabrikam,dc=com")
使用OU的DN可能已经足够了。
如果你是vbscript的新手,那么一个很好的起点应该是旧的"嘿,Scripting Guy"博客,在那里一切都有很多详细的解释。例如,这个是关于检查用户的OU。
Windows对此有设置。
允许登录本地
此登录权限决定哪些用户可以交互登录到此计算机。按所附键盘上的CTRL+ALT+DEL顺序启动的登录要求用户具有此登录权限。此外,某些可以登录用户的服务或管理应用程序可能需要此登录权限。如果为用户或组定义此策略,则还必须授予管理员组此权限。
工作站和服务器上的默认值:管理员备份操作员用户。
域控制器上的默认值:帐户操作员管理员备份操作员打印操作员服务器操作员。
- 是否可以将JXBrowser显示的JS确认对话框的结果返回到调用它的JS部分
- 将字符串结果返回到表单元格中的新行中
- 如何从批处理文件调用一个带有2个参数的java脚本函数,并将结果返回到环境变量
- 使用 JSON 和 ExtJS 将 MPDF 结果返回给浏览器
- 将信息结果返回到多个输入字段
- 如何将变量从javascript发送到php并将结果返回给JS
- 将 JavaScript 变量传递给 PHP,并将 PHP 结果返回给 JavaScript 变量
- 当没有结果返回 JavaScript 搜索时显示消息
- 加载相同的结果返回按钮
- 如果搜索框位于_SiteLayout页(在页眉 DIV 中),如何将搜索结果返回给用户
- MVC C#中的自定义操作结果返回特定视图
- 使用javascript/lodash对特定键的相同值进行分组,并对其进行计数,然后将结果返回到数组
- 如何使用javascript将循环结果返回到列中
- 结果返回为“未定义”
- 搜索未检测到结果返回-Selectize.js
- 调用一个打开活动并将活动结果返回给javascript的java函数
- 将PHP结果返回到原始html页面
- ASP.. NET MVC控制器结果返回到视图
- 如何通过AJAX传递值来更改SQL搜索查询并将结果返回给HTML ?
- Asp.net MVC或javascript将另一个页面的结果返回给方法