要するに、私のアプリケーションでは、ターゲットへのUNC接続ができないリモートターゲットにファイルをコピーする必要があります。ただし、ターゲットからのUNC接続とサーバーへのBACKは常に可能です。そのため、WMIを使用してリモートコマンドシェル(cmd)を起動し、copyコマンドを使用してファイルを取得するという計画でした。しかし、これは機能しません。ターゲットのコマンドラインから手動で実行する場合は、次のコマンドが正常に動作します:ファイルをコピーするためのWMIリモートプロセス
copy \\192.168.100.12\c$\remotefile.txt c:\localfile.txt
しかし、私はInputParameters("CommandLine")
の一環として、この同じコマンドをしようとすると、それは動作しませんし、エラーを生成しません。
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
任意のアイデアなぜこのISN:私はここにCALC.EXEなどを開始することができますように私はターゲットとリモート実行に接続するために、WMIを使用するだけで正常に動作できることに注意してくださいすることはできませんコードです働いている?それとも誰かが私がやろうとしていることをやるより良い方法を持っていますか?