q3125418 发表于 2022-7-1 23:19

无法运行代码,请大佬帮助

本帖最后由 q3125418 于 2022-7-1 23:31 编辑

Shell("cmd.exe /c " & "netdom join " & computername & " /domain:" & ad & " /UserD:" & aduser & " /PasswordD:" & adpwd & " /REBoot:5")

这是打印出来的;
netdom join by_123 /domain:contoso.com /UserD:a123 /PasswordD:a123456 /REBoot:5

跑不起来,请大佬帮帮弟弟~~~

单独在命令行又可以运行起来,放到VB.NET里,用代码调用就不行了

C:\Users\Administrator>netdom join by_123 /domain:contoso.com /UserD:a123 /PasswordD:a123456 /REBoot:5
这样直接就能跑

blfiag 发表于 2022-7-1 23:27

Shell("cmd.exe /c " ... )加空格

q3125418 发表于 2022-7-1 23:30

blfiag 发表于 2022-7-1 23:27
Shell("cmd.exe /c " ... )加空格

加了,还是不行~~呜呜呜
Shell("cmd.exe /c " & "netdom ....

blfiag 发表于 2022-7-1 23:37

换成cmd.exe /k,截图错误看看原因

blfiag 发表于 2022-7-1 23:38

或者试试这个
Module cmd
    Public Function runCmd(ByVal strCMD As String) As String
      Dim p As New Process
      With p.StartInfo
            .FileName = "cmd.exe"
            .Arguments = "/c " + strCMD
            .UseShellExecute = False
            .RedirectStandardInput = True
            .RedirectStandardOutput = True
            .RedirectStandardError = True
            .CreateNoWindow = True
      End With
      p.Start()
      Dim result As String = p.StandardOutput.ReadToEnd()
      p.Close()
      Return result
    End Function
End Module

q3125418 发表于 2022-7-2 00:10

本帖最后由 q3125418 于 2022-7-2 09:10 编辑

blfiag 发表于 2022-7-1 23:38
或者试试这个
Module cmd
    Public Function runCmd(ByVal strCMD As String) As String



运行的时候会释放 netdom.exe到system32目录
netdom.exe.mui 到System32\zh-CN目录

blfiag 发表于 2022-7-2 08:04

我没有装vbnet环境。只能远观

q3125418 发表于 2022-7-2 09:12

blfiag 发表于 2022-7-2 08:04
我没有装vbnet环境。只能远观

哈哈,我用大佬说的方法,cmd /k 调试。
发现无法读取到 netdom 然后指定了完整路径 c:\windows\system32\netdom.exe
就成功了。nice

blfiag 发表于 2022-7-2 09:56

q3125418 发表于 2022-7-2 09:12
哈哈,我用大佬说的方法,cmd /k 调试。
发现无法读取到 netdom 然后指定了完整路径 c:\windows\system3 ...

嗯,解决了就好

天使的爱 发表于 2022-7-2 12:15

谢谢,学习了小白路过。。。
页: [1]
查看完整版本: 无法运行代码,请大佬帮助