我正在尝试从一个 VBScript 文件中执行一个 .NET (3.5) 命令行程序,该文件主要做两件事:
- 连接到与托管脚本的服务器位于同一域的 Active Directory 以检索属性值。我使用第一个命令行参数(用户名)搜索 AD。
- 使用所述属性值和第二个命令行参数创建 DTO,然后在 WCF 服务调用中使用该参数。
当我明确运行应用程序时,一切正常。访问 Active Directory,检索属性,并使用正确的结果调用 WCF 服务(通过查看数据库进行验证)。
(编辑:我很抱歉,我忘了说明实际问题是什么。)
当我运行脚本时,似乎无法在我的 .NET 代码(MyProgram 应用程序)中访问 Active Directory。
VBScript 代码:
Dim objResult
Set objShell = WScript.CreateObject("WScript.Shell")
objResult = objShell.Run("MyProgram " & strUsername & " 0", 1, True)
WScript.Shell 对象是否需要对文件的特殊权限?我已经检查过它们并且执行权限在那里。通常,我传递给 .Run() 方法的第二个参数是 6,我希望它是 1 用于调试。
我还有另一种方法可以在 VBScript 中执行程序吗?