txbihai 发表于 2011-3-22 14:00:06

DOS外部命令的调用不成功请

netdom是dos外部命令和本文件放在同个目录下的,下面的出错在哪里,请
$fo = @ComputerName
run(@comspec & "/c"&'netdom join $fo /domain:cngzshvgas /userd:panbihai /passwordd:zhgaS@12345',"",@sw_hide)

smartzbs 发表于 2011-3-22 14:25:26

错1: "/c" 改为    " /c "(前后各加一个空格)
错2: run中的$fo改为   ' & $fo & '
即:run(@comspec & " /c "&'netdom join ' & $fo &' /domain:cngzshvgas /userd:panbihai /passwordd:zhgaS@12345',"")

wsfda 发表于 2011-3-22 15:25:55

楼主正解,俺路过下,这些细节应该注意

txbihai 发表于 2011-3-22 17:15:11

谢谢,smartzbs
还是不行,netdom.exe文件是放在本目录下的,netdom是dos命令。

lixiaolong 发表于 2011-3-24 10:18:55

回复 4# txbihai

先看帮助文档吧 @ScriptDir 当前运行脚本的目录
$fo = @ComputerName
Run(@ComSpec & ' /c ' & @ScriptDir & '\netdom.exe join ' & $fo & ' /domain:cngzshvgas /userd:panbihai /passwordd:zhgaS@12345', '', @SW_HIDE)

txbihai 发表于 2011-4-6 21:53:47

本帖最后由 txbihai 于 2011-4-6 21:55 编辑

谢谢 lixiaolong
调试了几天都搞不定,但bat就可以。netdom 文件百度上有。
利用BAT脚本加入域和退出域

加入域的脚本:
@echo off
netdom join %computername% /domain:test.com /UserD:user /PasswordD:pass /REBoot:5
退出域的脚本:
@echo off
netdom remove %computername% /domain:test.com /UserD:user /PasswordD:pass /REBoot:5

上面两个批处理脚本是通过调用xp support tools 里面自带的netdom 工具来执行。所以,我们需要把这个批处理文件和netdom.exe命令打包放在一起执行。
另外,提醒一点,可以建立一个普通的帐户,通过委派加入域的权限,来写入这个脚本的两个参数里面去,一个是UserD ,一个是PasswordD .

还有:
$foe=RunWait(@ComSpec & ' /c' & 'net localgroup administrators cngzshvgas\panbihai /add', @SystemDir, @SW_HIDE)
                        MsgBox(0, "计算机域管理", "将域用户加入本地管理组" & $foe)
也搞不定,请大侠帮忙。
详细出处参考:http://www.jb51.net/article/14817.htm

zitoy 发表于 2011-4-7 13:19:30

不知用start引导行不行?

norby 发表于 2011-4-9 16:44:28

最近也遇到这个问题了
绝对不是语法的问题
相同的命令,在【开始】=>【运行】中运行成功,但是在Run、RunWait里面不能执行
已经加上 C:\windows\system32\cmd.exe /K 了
连命令行窗口都不停止

kadingxiaodi 发表于 2011-4-9 16:56:53

缺少空格,加上就好啦

norby 发表于 2011-4-9 20:09:23

绝对不是语法的问题,绝对不是语法的问题,绝对不是语法的问题,绝对不是语法的问题,绝对不是语法的问题

我查了很多资料,包括英文论坛。
最终只能变通解决,就是将命令生成一个bat文件,然后再去执行这个bat文件。
能实现相同效果,也有返回值。

kevinch 发表于 2011-4-9 21:16:00

$fo = @ComputerName
Run(@ComSpec & " /c """ & @ScriptDir & "\netdom.exe"" join " & $fo & " /domain:cngzshvgas /userd:panbihai /passwordd:zhgaS@12345", "", @SW_HIDE)借用李小龙的代码,也许楼主的@scriptdir中有空格,那么路径两端要加上引号,我不习惯用单引号,全部换成双引号了
页: [1]
查看完整版本: DOS外部命令的调用不成功请