Top-Themen

Aktuelle Themen (A bis Z)

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

VBS - Netzlaufwerk nach Eingabe verbinden

Frage Entwicklung VB for Applications

Mitglied: Zacky87

Zacky87 (Level 1) - Jetzt verbinden

02.09.2008 um 15:40 Uhr, 7765 Aufrufe

Über VBScript Formular unter diversen Bedingungen zu einem Netzlaufwerk verbinden

Aktualisiert: Status --> Fertig

Hallo Zusammen,
ich habe im Forum + Internet nach meinem Problem gesucht, doch leider keine geeignete Lösung gefunden.
Ich hoffe ich komme durch diesen Betrag zu einer Lösung meines Problems. Vorweg muss ich noch zugeben, dass ich vorher nie wirklich mit VBS etwas gemacht habe, dennoch mit anderen Programmiersprachen zu tun habe.

Also es geht um folgendes:
Anbei habe ich eine Grafik beigelegt, die den Ablauf noch mal grafisch darstellen soll.

Ich benötige ein Script(per VBS), welches nach einer Netzwerkpfad-Eingabe eine Verbindung zum Pfad herstellt. Dieser Pfad soll dann in eine Datei geschrieben werden. Am einfachsten wahrscheinlich eine .txt (config.txt).
Weiterhin soll die Möglichkeit bestehen weitere Verbindungen herzustellen, die ebenso in die .txt geschrieben werden.

Bevor zu dem Netzwerkpfad aber eine Verbindung hergestellt werden kann, muss kontrolliert werden, ob dieser existiert und ob der Benutzer die entsprechende Freigabe zum Pfad hat. Erst nach Bestätigung dieser beiden Bedingungen wird die Verbindung eingerichtet. Ansonsten soll eine MsgBox kommen.

Wenn keine Verbindungen mehr einzurichten sind, soll man das Script schließen.

Sobald das Script immer gestartet wird, wird überprüft ob es eine vorher angelegte config.txt schon gibt. Wenn ja, dann schließt das Script und nichts passiert. Wenn keine Config.txt da ist, passiert das was oben beschrieben ist. Das bedeutet, man müsste erst die config.txt löschen um über das Script neue Verbindungen einzurichten.

Zusammenfassung:
Überprüfen ob config.txt vorhanden
Formulareingabe des Netzwerkpfades
Netzwerkpfad prüfen auf Existenz und Freigabe
Netzwerkpfad einrichten
Datei "config.txt" anlegen

So Habe es Jetzt hersausgefunden:


'Variablendeklaration
dim filesys, objFSO, eingabe, LogicalDrive, eingerichtet, araray (26,26)

Set filesys = CreateObject("Scripting.FileSystemObject")
'Überprüfung ob eine Log datei vorliegt.
If filesys.FileExists("C:\log.txt") = True Then
'Logdatei vorhanden
Set oDict = CreateObject("Scripting.Dictionary")
Set oFile = filesys.OpenTextFile("C:\log.txt")
Set wn = WScript.CreateObject("WScript.Network")
'Direktes Einlesen, Dictionary Objekt darf nämlich beliebig wachsen

i=0
'Aufruf einer Schleife, welche jedes Laufwerk mappt was in der Logdatei angegeben ist
while not oFile.AtEndOfStream
oDict.add i,oFile.ReadLine
j = 0
'Jede Zeile der Logdatei --> oDict.Item(i)
'String wird geteilt durch die 3 Rauten (###) --> Split
InputData = Split(oDict.Item(i), "###")
'Einzelnen Teile des Strings --> Array
For each strData In InputData
araray(i,j) = strData
j = j + 1
next
'Fehler abfangen, falls das Script gestartet wird, obwohl die Log datei
If filesys.DriveExists (araray(i,0)) = TRUE Then
wn.RemoveNetworkDrive araray(i,0)
wn.MapNetworkDrive araray(i,0), araray(i,1), False
ELSE
' Mappen der Laufwerke durch die Einträge des Arrays
wn.MapNetworkDrive araray(i,0), araray(i,1), False
END IF
i=i+1
Wend
oFile.Close
WScript.Quit
'END


ELSE
'Keine Logdatei vorhanden



' Aufruf einer Logdatei namens log.txt
Set logtxt = filesys.CreateTextFile("c:\log.txt", True)
'Schleife damit man mehr Laufwerke mappen kann also nur eines
For h = 0 To 25
'Variable --> eingerichtet zur Kontrolle bis ein Laufwerk gemappt wurde
eingerichtet = 0
eingabe= InputBox ("Geben Sie Ihren Netzwerkpfad ein, zu dem Sie eine Verbindung hergetsellt werden soll! Ansonsten Schließen")
IF eingabe=FALSE THEN
'Falls keine Eingabe geschehen ist, wird das Script geschlossen
WScript.Quit
ELSE

' Laufwerksbuchstaben A: - Z:
For I = 0 To 25
'Zuweisung des Laufwerksbuchstaben
LogicalDrive = Chr(65 + I) & ":"


Set filesys = CreateObject("Scripting.FileSystemObject")
'Kontrolle ob es den ermittelten Laufwerksbuchstaben schon gibt
If filesys.DriveExists (LogicalDrive) = False Then
MsgBox ("Der Laufwerksbuchstabe " & LogicalDrive & " ist noch frei und wird nun gemappt")

Set wn = WScript.CreateObject("WScript.Network")

'On Error Resume Next

'Mapp befehl
wn.MapNetworkDrive LogicalDrive, eingabe, False
'MsgBox ("Für diesen Netzpfad müssen Sie den Benutzernamen und Passwort angeben")
'benutz= InputBox ("Geben Sie bitte das Benutzer ein")
'pw= InputBox ("Geben Sie bitte das Passwort ein")
'On Error Goto error

' Mappbefeehl mit Benutzernamen und Passwort
'wn.MapNetworkDrive "t:", "\\192.168.2.5\geheim", False, "Guest", "geheim"

'error:
'Msgbox Err.Description

eingerichtet = 1
logtxt.WriteLine(LogicalDrive & "###" & eingabe)

END IF

If eingerichtet = 1 Then Exit For END IF
Next

END IF
NEXT
logtxt.Close
END IF
WScript.Quit

Der Beitrag kann somit duch einen Admin geschlossen werden.

Grüße
Ähnliche Inhalte
Windows Server
Netzlaufwerke verbinden sich nicht
Frage von MyBRis4ShotWindows Server6 Kommentare

Hallo, wie der Titel schon sagt, habe ich aktuell Probleme mit dem automatischen Verbinden von Netzlaufwerken. Der Kunde arbeitet ...

Windows Server
Active Directory Netzlaufwerke verbinden
gelöst Frage von Florian86Windows Server2 Kommentare

Hallo, beim Netzlaufwerke verbinden über die AD im 2012 Server bekomme ich beim Anmelden immer die Fehler ID:1055 Fehler ...

SAN, NAS, DAS
Netzlaufwerk verbinden - komisches Verhalten
Frage von duschgasSAN, NAS, DAS15 Kommentare

Guten Tag, ich habe einen root-Server bei einem Hoster und dort einen Ordner freigegeben. Mit meinem Laptop im WLAN ...

Windows Netzwerk
Netzlaufwerk außerhalb Domäne verbinden
Frage von daMopsiWindows Netzwerk3 Kommentare

Hallo Zusammen, ich möchte über GPO ein Netzlaufwerk verbinden lassen, das nicht in der Domäne hängt. Für die Anmeldung ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 8 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 12 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 12 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 15 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server15 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...