找回密码
 加入
搜索
查看: 4305|回复: 10

[系统综合] DOS外部命令的调用不成功请

 火.. [复制链接]
发表于 2011-3-22 14:00:06 | 显示全部楼层 |阅读模式
netdom是dos外部命令和本文件放在同个目录下的,下面的出错在哪里,请
$fo = @ComputerName
run(@comspec & "/c"&'netdom join $fo /domain:cngzshvgas /userd:panbihai /passwordd:zhgaS@12345',"",@sw_hide)
发表于 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',"")
发表于 2011-3-22 15:25:55 | 显示全部楼层
楼主正解,俺路过下,这些细节应该注意
 楼主| 发表于 2011-3-22 17:15:11 | 显示全部楼层
谢谢,smartzbs
还是不行,netdom.exe文件是放在本目录下的,netdom是dos命令。
发表于 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)
 楼主| 发表于 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
发表于 2011-4-7 13:19:30 | 显示全部楼层
不知用start引导行不行?
发表于 2011-4-9 16:44:28 | 显示全部楼层
最近也遇到这个问题了
绝对不是语法的问题
相同的命令,在【开始】=>【运行】中运行成功,但是在Run、RunWait里面不能执行
已经加上 C:\windows\system32\cmd.exe /K 了
连命令行窗口都不停止
发表于 2011-4-9 16:56:53 | 显示全部楼层
缺少空格,加上就好啦
发表于 2011-4-9 20:09:23 | 显示全部楼层
绝对不是语法的问题,绝对不是语法的问题,绝对不是语法的问题,绝对不是语法的问题,绝对不是语法的问题

我查了很多资料,包括英文论坛。
最终只能变通解决,就是将命令生成一个bat文件,然后再去执行这个bat文件。
能实现相同效果,也有返回值。
发表于 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中有空格,那么路径两端要加上引号,我不习惯用单引号,全部换成双引号了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 08:17 , Processed in 0.075898 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表