HTA/HTML/VBScript/AD-使用VBScript从AD中提取用户信息
我正在尝试创建我的第一个应用程序。我想创建一个脚本,从Active Directory中提取一些用户的属性。我已经创建了一个HTA应用程序,但它不工作。 我真的需要你的支持 谢谢 下面是HTA应用程序的HTML代码 以下是脚本详细信息:HTA/HTML/VBScript/AD-使用VBScript从AD中提取用户信息,html,vbscript,active-directory,hta,Html,Vbscript,Active Directory,Hta,我正在尝试创建我的第一个应用程序。我想创建一个脚本,从Active Directory中提取一些用户的属性。我已经创建了一个HTA应用程序,但它不工作。 我真的需要你的支持 谢谢 下面是HTA应用程序的HTML代码 以下是脚本详细信息: <script type="VBscript"> Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.C
<script type="VBscript">
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = ("ADsDSOObject")
objConnection.Open "Active Directory Provider"
objCommand.ActiveConnection = objConnection
objCommand.Properties("SearchScope") = 2
objCommand.CommandText = "SELECT userWorkstations,sAMAccountName,Mail,name,DisplayName,distinguishedName,LastLogonDate, FROM 'LDAP://dc=NESTLE,dc=com' WHERE objectCategory='user' AND displayname='" & VaR5 & "'"
Set objRecordSet = objCommand.Execute
</script>
<hta:application
applicationname="ADUCUserGrab"
border="thin"
borderstyle="normal"
caption="ADUC User Grab"
contextmenu="yes"
icon="aduc_sm.ico"
maximizebutton="no"
minimizebutton="yes"
navigable="yes"
scroll="yes"
selection="yes"
showintaskbar="yes"
singleinstance="yes"
sysmenu="yes"
version="1.0"
windowstate="normal"
>
</head>
设置objConnection=CreateObject(“ADODB.Connection”)
设置objCommand=CreateObject(“ADODB.Command”)
Provider=(“ADsDSOObject”)
objConnection.打开“Active Directory提供程序”
objCommand.ActiveConnection=objConnection
objCommand.Properties(“SearchScope”)=2
objCommand.CommandText=“从'LDAP://dc=NESTLE,dc=com'中选择userWorkstations,sAMAccountName,Mail,name,DisplayName,DiscrimitedName,LastLogonData,其中objectCategory='user'和DisplayName='”&VaR5&'”
Set objRecordSet=objCommand.Execute
下面是[for.hta app]的HTML代码:
<body topmargin="1" leftmargin="0" rightmargin="0" bottommargin="1" bgcolor="#000080" text="#FFFFFF">
<table border="0" width="640" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="top" height="110" bgcolor="#000080">
<i>Enter the <u>userid</u> or <u>last name</u> below and click appropriate search.</i><br>
<input type="text" name="StrUserid" size="20">
<input id=idsearchbutton class="button" type="button" value="Search On UserID" name="userid" onClick="SearchScope">
</td>
</tr>
<tr>
<td valign="top" height="300" bgcolor="#000080">
<Div id="BaseUserInfo"></Div>
<br>
<table border="0" width="100%" cellspacing="1" cellpadding="0">
<tr>
<td width="60%" valign="top"><Div id="AddUserInfo"></Div></td>
<td width="40%" valign="top"><Div id="AccUserStatus"></Div></td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" height="70" bgcolor="#000080">
<div id="AdditionalOptions"></div>
</td>
</tr>
</table>
在下面输入用户名或姓氏,然后单击相应的搜索。
如果这是你的第一次HTA应用体验,那么你的目标太高了。尽量简化,直到你的按钮弹出“Hello World”消息,然后详细说明。让消息包含从自由文本字段中提取的内容,逐步构建。如果这是你的第一次HTA应用体验,那么你的目标太高了。尽量简化,直到你的按钮弹出“Hello World”消息,然后详细说明。使消息包含从自由文本字段中提取的内容,逐步构建。现在它应该可以工作:-)
var adStateOpen=1;
var ADS_SCOPE_子树=2;
函数SearchScope(){
变量e;
试一试{
var objConnection=newactivexobject(“ADODB.Connection”);
objConnection.Provider=“ADsDSOObject”;
//objConnection.Properties(“用户ID”)=credUser;
//objConnection.Properties(“密码”)=credPwd;
//属性(“加密密码”)=true;
Open();
if(objConnection.State==adStateOpen){
var objCommand=newActiveXObject(“ADODB.Command”);
objCommand.ActiveConnection=objConnection;
//objCommand.Properties(“页面大小”)=1000;
objCommand.Properties(“Searchscope”)=ADS_SCOPE_子树;
objCommand.CommandText=(
“选择”
+CN,DifferentiedName,sAMAccountName,描述,userAccountControl
+“来自”
+“'LDAP://dc=NESTLE,dc=com'”
+“哪里”
+“objectCategory='user'”
+“和(”
+“sAMAccountName=”+document.getElementById(“StrUserid”).value+””
+“或”
+类似“%”文档的displayname.getElementById(“StrUserid”).value+“%”
+ ")"
);
var objRecordSet=objCommand.Execute();
如果(!objRecordSet.EOF){
警报(objRecordSet.Fields(“CN”).Value);
}
}
}捕获(e){
//日志错误
警报(如描述);
}
}
在下面输入用户名或姓氏,然后单击相应的搜索。
现在它应该可以工作了:-)
var adStateOpen=1;
var ADS_SCOPE_子树=2;
函数SearchScope(){
变量e;
试一试{
var objConnection=newactivexobject(“ADODB.Connection”);
objConnection.Provider=“ADsDSOObject”;
//objConnection.Properties(“用户ID”)=credUser;
//objConnection.Properties(“密码”)=credPwd;
//属性(“加密密码”)=true;
Open();
if(objConnection.State==adStateOpen){
var objCommand=newActiveXObject(“ADODB.Command”);
objCommand.ActiveConnection=objConnection;
//objCommand.Properties(“页面大小”)=1000;
objCommand.Properties(“Searchscope”)=ADS_SCOPE_子树;
objCommand.CommandText=(
“选择”
+CN,DifferentiedName,sAMAccountName,描述,userAccountControl
+“来自”
+“'LDAP://dc=NESTLE,dc=com'”
+“哪里”
+“objectCategory='user'”
+“和(”
+“sAMAccountName=”+document.getElementById(“StrUserid”).value+””
+“或”
+类似“%”文档的displayname.getElementById(“StrUserid”).value+“%”
+ ")"
);
var objRecordSet=objCommand.Execute();
如果(!objRecordSet.EOF){
警报(objRecordSet.Fields(“CN”).Value);
}
}
}捕获(e){
//日志错误
警报(如描述);
}
}
在下面输入用户名或姓氏,然后单击相应的搜索。
您能描述一下“不工作”是什么意思吗?如果不工作,它应该做什么?是否有任何错误消息?“寻求调试帮助的问题(“此代码为什么不工作?”)必须包括所需的行为、特定的问题或错误,以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:如何创建问题。”当我使用.hta应用程序中的表单搜索用户时,应返回该用户的以下值userWorkstations、sAMAccountName、Mail、name、DisplayName、DiscriminatedName、LastLogonData。您能描述一下您的意思吗