Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datei übertragen auf anderen Server via Visual Studio

Frage Entwicklung Visual Studio

Mitglied: BadFsaadKl

BadFsaadKl (Level 1) - Jetzt verbinden

09.02.2010 um 22:45 Uhr, 6639 Aufrufe, 11 Kommentare

Datei übertragen auf anderen Server via Visual Studio

Hallo Zusammen,


ich suche eine Möglichkeit, um in einem Programm, welches ich in Visual Studio 2005 programmiere,
eine Datei aus dem Programm herraus (am Ende der Prozedur), auf einen anderen Windows 2003 Server in ein Verzeichniss zu kopieren.

Vorraussetzung ist jedoch, nicht die Verwendung von Netzlaufwerken...

Jedoch kann auf dem "Quell-PC" nicht weiter installiert werden, außer das Programm, welches ich programmiere...
auf den Ziel-Server, kein problem....

Gibts es hier eine Möglichkeit via z.B. FTP oder WMI ???

Danke
Mitglied: dog
09.02.2010 um 23:49 Uhr
Ähm...wie jetzt?

http://msdn.microsoft.com/en-us/library/system.io.file.aspx

In members that accept a path, the path can refer to a file or just a directory. The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name.
Bitte warten ..
Mitglied: mayho33
10.02.2010 um 00:04 Uhr
Hi und Sorry?

Du willst in VB2005 eine Datei zwischen 2 Servern kopieren ohne, ich nehme an, gemappte, sprich, Netzlaufwerksbuchstaben?

WArum nicht VBS? da musst du garnix installieren. Alles schon da. Auch FTP braucht irgendeine Freigabe oder eine Share oder sonstwas damit du da was hincopieren kannst.

Versteh dich glaube ich nicht ganz. Kannst du das genauer erklären?

Grüße
Bitte warten ..
Mitglied: BadFsaadKl
10.02.2010 um 10:26 Uhr
Hallo Mayho33,


genau.
aber um genau zu sein, will ich diversen Workstation's eine Datei, in Ein Verzeichniss auf einen Server kopieren.
Jedoch, ohne auf jedem dieser Workstations eine Netzlaufwerk einrichten zu müssen.

Auf den Zielserver einen FTP-Client zu installieren, wäre ein Möglichkeit. welche ich aber erst als letztes in Erwägung ziehen möchte.

Wie würde ich denn die Dateien via VBS übermitteln können ?
Und wie kann ich das VBS - Script dann in das Programm integrieren ?

Danke
Bitte warten ..
Mitglied: mayho33
10.02.2010 um 20:12 Uhr
Hi!

Etwa so:

Set oShell = WScript.CreateObject("WScript.Shell")
Set oFso = CreateObject("Scripting.FileSystemObject")

appPath = ofso.getparentfoldername(wscript.scriptfullname)

'
'# Variante 1
'Host = InputBox("IP oder Hostmane:")


CopyPath = "\\" + Host + "\c$\Windows\Dateiname"

If ofso.FileExists(copypath + ".txt") Then
ofso.CopyFile copypath + ".txt", apppath + "\", True
End If

'
'# Variante 2
RangeHost = InputBox("IP oder Hostmane getrennt durch ""|"" eingeben:")
arrRangeHost = Split(RangeHost, "|")
LenarrRangeHost = UBound(arrRangeHost)

x = 0

Do
copypath = "\c$\Windows\Dateiname"
FullCopyPath = "\\" + arrRangeHost(x) + CopyPath + ".txt"

If ofso.FileExists(FullCopyPath) Then
ofso.CopyFile FullCopyPath, apppath +"\", True
WScript.Sleep 1500
ofso.MoveFile apppath + "\dateiname.txt", apppath + "\dateiname" + "_" + arrRangeHost(x) + ".txt"
End If
x = x + 1
Loop Until x > LenarrRangeHost
Bitte warten ..
Mitglied: BadFsaadKl
11.02.2010 um 09:41 Uhr
Hallo Mayho33,


Danke für den Code.
Funktioniert Lokal wunderbar.

Jetzt bräucht nur noch die Info, wie, wo ich die Zugangsdaten für den Server eingebe.
Sprich Benutzername, Password.

Danke
Bitte warten ..
Mitglied: mayho33
11.02.2010 um 21:12 Uhr
Hi!

Eigentlich wird das Script am Server ausgeführt und holt von den Clients die Datei die du haben möchtest. in den Script-Pfad Da am Server eh nur der Admin was zu suchen hat sollte im AD das Script eigentlich problemlos ohne Login funktionieren.

LOgon ginge z.B. über die WMI wenn du das unbedingt brauchst.
Bitte warten ..
Mitglied: BadFsaadKl
16.02.2010 um 14:37 Uhr
Hallo Mayho33,


Danke für den Code.
Kennst du auch eine Möglichkeit, das ganze nun doch via Visual Basic umzusetzen ?
Ausführen von Scripten auf dem Server ist leider nicht mehr möglich (Firmenpolitik )....

Würde das ganze gerne über die System.Management & Filesystem Klasse machen, falls das geht.

Habe bereits bissle rumgetüftelt, aber fehlt mir noch einiges ...

Imports System
Imports System.Management

Dim Options As ConnectionOptions
Options = New ConnectionOptions
Options.Username = "###"
Options.Password = "###"

Dim Path As ManagementPath
Path = New ManagementPath("\\Server\root\CIMV2:Win32_LogicalDisk.DeviceID=""C:""")
Dim path2 = "C:\web.txt"

Hab bis jetzt nur mit dem ManagementScope und ObjectQuery mit paar Infos auslesen können...
Jedoch komme ich mit dem Filetransfer noch net so klar.

Kannst du mir da weiterhelfen ?

Danke
Bitte warten ..
Mitglied: dog
16.02.2010 um 14:53 Uhr
Vielleicht liest du dir einfach nochmal meinen ersten Kommentar genau durch
Bitte warten ..
Mitglied: BadFsaadKl
16.02.2010 um 15:34 Uhr
Hab ich mir schon durchgelesen.
Komme jedoch net mit zurecht, wie ich beim Zielpfad, die Zugangsdaten mitgebe.

Bei der Scope-Finktion siehts wie folgt aus:
'scope = New ManagementScope("\\Server\root\CIMV2", Options)
' Die Opteions sind die Zugangsdaten.

bei der ManagementPath Funktion klappt das aber irgendwie net so.
Bitte warten ..
Mitglied: dog
16.02.2010 um 16:04 Uhr
Sicher nicht schön (weil man über die C-API gehen muss) aber über WNetAddConnection2 kannst du dich mit einem Share verbinden: http://msdn.microsoft.com/en-us/library/aa385413%28VS.85%29.aspx
Damit solltest du die notwendige Session zum Kopieren haben.
(Das lpLocalName Attribut des NETRESOURCE Structs muss leer sein).
Bitte warten ..
Mitglied: mayho33
18.02.2010 um 23:11 Uhr
Hi!

Hier ein Beispiel. Gefunden in der allgemeinen Hilfe

geschrieben in VB2008 musst du also eventuell ein wenig anpassen und ist ungetestet

Auf System.Management musst du explizit einen Verweis setzen



Imports System
Imports System.Management
Imports System.IO

Module Module1
Sub main()
'User/Passwort übergeben
Dim Anmelden() As String = {"USER", "PASSWORT"}

RemoteConnect.Main_(Anmelden)
End Sub


Public Class RemoteConnect

Public Overloads Shared Function Main_(ByVal args() As String) As Integer

'User/Passwort übernehmen
Dim options As ConnectionOptions
options = New ConnectionOptions
options.Username = args(0)
options.Password = args(1)

'VErbindung aufbauen
Dim scope As ManagementScope
scope = New ManagementScope("\\SERVERNAME:Win32_LogicalDisk.DeviceID=""C:""", options)
scope.Connect()

' Query system for Operating System information
Dim query As ObjectQuery
query = New ObjectQuery( _
"SELECT * FROM Win32_OperatingSystem")
Dim searcher As ManagementObjectSearcher
searcher = _
New ManagementObjectSearcher(scope, query)

Dim queryCollection As ManagementObjectCollection
queryCollection = searcher.Get()

Dim m As ManagementObject
For Each m In queryCollection
' Daten anzeigen
Console.WriteLine("Computer Name : {0}", _
m("csname"))
Console.WriteLine("Windows Directory : {0}", _
m("WindowsDirectory"))
Console.WriteLine("Operating System: {0}", _
m("Caption"))
Console.WriteLine("Version: {0}", m("Version"))
Console.WriteLine("Manufacturer : {0}", _
m("Manufacturer"))
Next

Return 0
End Function
End Class





Grüße!


Mayho
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Visual Studio
Microsoft Visual Studio kommt für macOS (1)

Link von Frank zum Thema Visual Studio ...

Windows Server
Benutzerprofile auf anderen Server verschieben (1)

Frage von hermes zum Thema Windows Server ...

Datenbanken
gelöst 1GB phpMyAdmin SQL Datei in SQL Server 2008 R2 importieren (7)

Frage von Himpke zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...