none
Problème pour copier un fichier et l'envoyer sur un serveur distant (SMB/CIFS) RRS feed

  • Question

  • Bonjour je souhaiterais envoyer un fichier sur un autre pc de mon réseau (Domaine,Login,Mdps) .

    Mais je ne trouve pas de doc(tuto) à ce sujet ?

    Je sais que pour faire un copie en local c'est:

    Import system.IO

    File.Copy("myfile.txt", "copyofmyfile.txt")

     

    Pouvez vous m'aider

     

    D'avance merci 

    lundi 16 janvier 2012 15:04

Réponses

  • Ha j'ai trouvé

     

    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_1(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("user", "Domaine", "pass", 9, 0, admin_token) <> 0 Then

                    wid_admin = New WindowsIdentity(admin_token)

                    wic = wid_admin.Impersonate()

                    System.IO.File.Copy("C:\test.txt", "\\file1srv\test.txt", 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

    lundi 16 janvier 2012 15:20