使用psexec和netuser的errorlevel

时间:2015-12-15 17:28:22

标签: batch-file

这是我的脚本。我遇到的问题是它基本上忽略了我的“if errorlevel”我尝试了各种不同的方式

for /f %%F in (C:\IPLIST.txt) do (
pstools\psexec.exe \\%%F -u administrator -p password net user administrator password1
if %errorlevel% NEQ 0 goto two
:two
pstools\psexec.exe \\%%F -u administrator -p password3 net user administrator password2
)

因此,它会通过txt文件的IP地址列表,并更改本地管理员密码。这两个命令是给它不同的身份验证凭据,现在我知道我可以用pspasswd做到这一点,但“-u -p”开关不会工作。但是这个工作..它只是如果第一个命令成功并退出错误代码0它仍然运行相同IP的第二个命令。如果第一个成功,我希望它忽略该IP的第二个命令。并继续沿着列表继续..

这是因为我使用的是net user还是pstools,这就是为什么忽略它?

2 个答案:

答案 0 :(得分:0)

@echo off
for /f %%F in (C:\IPLIST.txt) do (
    pstools\psexec.exe \\%%F -u administrator -p password net user administrator password1
    if errorlevel 1 pstools\psexec.exe \\%%F -u administrator -p password3 net user administrator password2
    if errorlevel 1 pstools\psexec.exe \\%%F -u administrator -p password5 net user administrator password5
    echo Rinse and Repeat
)

答案 1 :(得分:0)

std
这是有效的。回答了我的问题。谢谢