cjwsunboy 发表于 2011-9-30 13:10:26

AU3 如何传递参数给 VBS

本帖最后由 cjwsunboy 于 2011-9-30 13:23 编辑

我的 VBS 脚本文件 test.vbs 是用来修改 Windows 帐户“环境”和“会话”信息

TEST.VBSConst Enabled = 1
Const Disabled = 0
strComputer = "QDDC01"
Set objUser = GetObject("WinNT://" & strComputer & "/test003,user")
objUser.ConnectClientDrivesAtLogon = Enabled
objUser.ConnectClientPrintersAtLogon = Enabled
objUser.DefaultToMainPrinter = Enabled
objUser.TerminalServicesInitialProgram = "cmd"
objUser.TerminalServicesWorkDirectory = "c:\temp"
objUser.MaxDisconnectionTime = 5
objUser.SetInfo现在的问题是,我从 AU3 中调用这个 VBS 文件,要传递两个参数给 VBS,一个是(QDDC01),另一个是(TEST003),不知道代码要怎么写?

zcx880517 发表于 2011-9-30 13:13:40

灌水?找杀啊。。

cjwsunboy 发表于 2011-9-30 13:17:27

回复 1# cjwsunboy

没有哦,不是灌水,从没发过贴子,我刚试一下我有没有权限发,然后再改内容。是有东西要请教大家的哦

www378660084 发表于 2011-9-30 16:06:33

MsgBox WScript.Arguments.Count

cjwsunboy 发表于 2011-9-30 20:28:59

没听明白,可以举个例子吗?谢谢

风行者 发表于 2011-9-30 20:37:38

GetObject 改成 objget
set 去掉
常量,变量前面加$

ok,转换完成

cjwsunboy 发表于 2011-10-1 19:59:37

本帖最后由 cjwsunboy 于 2011-10-1 21:17 编辑

回复6楼,依你的方法将源 VBS 代码转换成 AU3 代码并插入到添加NT帐号的那个代码里,会出现以下的报错。

AU3源代码如下:Local $colLocalComputer, $objUser
    $colLocalComputer = ObjGet("WinNT://" & @ComputerName)
                If @error Then
                        TrayTip("Error","Can Not Get The Object(WinNT://) !",5,3)
                        MsgBox(16,"Error","Can Not Get The Object(WinNT://) !")
                        $isWorking = False
                        Return False
                EndIf
    $objUser = $colLocalComputer.Create ("user", $sNewUsrName)
    $objUser.SetPassword ($sNewUsrPass)
    $objUser.Put ("Fullname", $sNewUsrFull)
    $objUser.Put ("Description", $sNewUsrDesc)
    $objUser.Put ("userFlags", 0x10000)
    $objUser.ConnectClientDrivesAtLogon = 1
    $objUser.ConnectClientPrintersAtLogon = 1
    $objUser.DefaultToMainPrinter = 1
    $objUser.MaxDisconnectionTime = 5
    $objUser.TerminalServicesInitialProgram="cmd"
    $objUser.TerminalServicesWorkDirectory="c:\temp"
    $objUser.SetInfo报错代码如下:>"C:\autoit3\SciTE\ACNWrapper\ACNWrapper.exe" /run /ErrorStdOut /in "C:\Documents and Settings\Administrator\桌面\addusers.au3" /autoit3dir "C:\autoit3" /UserParams   
+>19:53:26 开始执行 ACNWrapper v.1.0.0.12
+> ============================================
+>执行环境:
+>        CPU构架:        X64
+>        系统构架:        X64
+>        系统语言:        0804
+>        键盘布局:        00000804
+>        IP地址:                192.168.81.16
+>        内存总量:        255MB
+>        内存剩余:        53MB
+>        操作系统:        WIN_2003/Service Pack 2
+>        AU3版本:        3.3.6.1
+> ============================================
>运行 AU3Check (1.54.19.0)开始目录:C:\autoit3
+>19:53:26 AU3Check 完成:0
>运行:(3.3.6.1):C:\autoit3\autoit3_x64.exe "C:\Documents and Settings\Administrator\桌面\addusers.au3"   
C:\Documents and Settings\Administrator\??\addusers.au3 (64) : ==> ??????(?????).:
$objUser.ConnectClientDrivesAtLogon = 1
$objUser.ConnectClientDrivesAtLogon = 1^ ERROR
->19:53:29 AutoIT3.exe 完成::1
+>19
+>19:53:31 ACNWrapper 完成..
>退出代码: 1    时间: 4.940

cjwsunboy 发表于 2011-10-2 20:57:19

回复 7# cjwsunboy

有谁帮帮我哦?谢谢了
页: [1]
查看完整版本: AU3 如何传递参数给 VBS