2016-11-11 24 views
0

自分のコンピュータから他のリモートコンピュータに特定のファイルをコピーするプログラムを作成しました。私はこれを正常に行いましたが、ドライバC:\のみで実行しました。私の質問は、ファイルをD:\ドライブにコピーする方法です。ファイルをリモートコンピュータにコピー

私は\ 157.60.113.28 \ D:\ testnew \ right.bmpを追加しようとしましたが、運はありません。お知らせ下さい!

Imports System 
Imports System.Runtime.InteropServices 
Imports System.Security.Principal 
Imports System.Security.Permissions 
Public Class Form1 
<DllImport("advapi32.DLL", SetLastError:=True)> _ 
Public Shared Function LogonUser(ByVal lpszUsername As String, ByVal lpszDomain As String, _ 
    ByVal lpszPassword As String, ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, _ 
    ByRef phToken As IntPtr) As Integer 
End Function 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim admin_token As IntPtr 
    Dim wid_current As WindowsIdentity = WindowsIdentity.GetCurrent() 
    Dim wid_admin As WindowsIdentity = Nothing 
    Dim wic As WindowsImpersonationContext = Nothing 
    Try 
     MessageBox.Show("Copying file...") 
     If LogonUser("Local Admin name", "Local computer name", "pwd", 9, 0, admin_token) <> 0 Then 
      wid_admin = New WindowsIdentity(admin_token) 
      wic = wid_admin.Impersonate() 
      System.IO.File.Copy("C:\right.bmp", "\\157.60.113.28\testnew\right.bmp", True) 
      MessageBox.Show("Copy succeeded") 
     Else 
      MessageBox.Show("Copy Failed") 
     End If 
    Catch se As System.Exception 
     Dim ret As Integer = Marshal.GetLastWin32Error() 
     MessageBox.Show(ret.ToString(), "Error code: " + ret.ToString()) 
     MessageBox.Show(se.Message) 
    Finally 
     If wic IsNot Nothing Then 
      wic.Undo() 
     End If 
    End Try 
End Sub 
End Class 

答えて

0

あなたが探しているパスは次のとおりです。あなたが定期的にリモートマシンと対話するために必要とされる場合

\\157.60.113.28\D$\testnew\right.bmp 

あなたのマシンでネットワークドライブとしてネットワークパスをマップするのが賢明だろう。

mapping network drive

+0

Haleluia!どうもありがとうございました。 –

+0

@RobertKodra問題が解決した場合は、答えの左側にVを付けて感謝の気持ちを表してください。 – Stavm

+1

もちろん、私は答えを受け入れるのに3分待つ必要があると言います。ヘルプとヒントをありがとう! –

関連する問題