gpt4 book ai didi

vb.net - WMI远程进程复制文件

转载 作者:行者123 更新时间:2023-12-02 06:26:42 29 4
gpt4 key购买 nike

长话短说,我的应用程序需要将文件复制到远程目标,而远程目标可能无法与目标建立 UNC 连接。然而,从目标到服务器的 UNC 连接始终是可能的。因此计划是使用 WMI 启动远程命令 shell (cmd) 并使用复制命令来抓取文件。但这行不通。当从目标的命令行手动执行时,以下命令可以正常工作:

copy \\192.168.100.12\c$\remotefile.txt c:\localfile.txt

但是当我尝试将相同的命令作为 InputParameters("CommandLine") 的一部分时,它不起作用,并且不会产生错误。请注意,我可以使用 WMI 连接到目标,并且远程执行工作得很好,因为我可以启动 calc.exe 等。以下是不起作用的代码:

Dim ConnectionOptions As New System.Management.ConnectionOptions
With ConnectionOptions
.Username = "target\Administrator"
.Password = "password"
End With

Dim ManagementScope As New System.Management.ManagementScope("\\192.168.100.11\root\cimv2", ConnectionOptions)
Try
ManagementScope.Connect()
MsgBox("connected")
Dim ManagementPath As New System.Management.ManagementPath("Win32_Process")
Dim ManagementOptions As New System.Management.ObjectGetOptions
Dim ManagementClass As New System.Management.ManagementClass(ManagementScope, ManagementPath, ManagementOptions)
Dim InputParameters As System.Management.ManagementBaseObject = ManagementClass.GetMethodParameters("Create")
InputParameters("CommandLine") = "cmd /c copy \\192.168.100.12\c$\remotefile.txt c:\localfile.txt"
Dim OutputParameters As System.Management.ManagementBaseObject = ManagementClass.InvokeMethod("Create", InputParameters, Nothing)
MsgBox("done")
Catch ex As Exception
MsgBox(ex.Message)
End Try

有什么想法为什么这不起作用吗?或者有人有更好的方法来做我想做的事情吗?

最佳答案

弗兰克,您实际上应该给自己点信心,因为您创建的方法可能是第一个绕过远程文件复制的 WMI 限制的方法!我花了三周的时间寻找信息/解决方法,而你的是唯一有效的!如果我有任何观点,我会投票支持你的解决方案......

我根据您的方法创建了一个完全可用的 VBS 和 WMI 脚本:

 InputParameters("CommandLine") = "cmd /c echo myFTPCommands > c:\ftpscript.txt"

根据需要将 myFTPCommands 替换为您想要进入文件 c:\ftpscript.bat 的任何脚本(或 .vbs、.ps1 或任何您喜欢的文件)。如果一行脚本中无法容纳足够的文本,请使用>>以相同的方法附加。现在,您可以使用 XCOPY、PSEXEC、COPY 或其他任何命令来运行刚刚在远程主机的文件系统上创建的脚本。

Here's我使用你的方法完全充实了 VBScript。再次感谢。 :)

HTH,莉兹

关于vb.net - WMI远程进程复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884728/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com