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

Frage Entwicklung VB for Applications

GELÖST

VB Netzlaufwerk verbinden und User begrüßen

Mitglied: h4zz4rd

h4zz4rd (Level 1) - Jetzt verbinden

27.07.2007, aktualisiert 06.08.2007, 15147 Aufrufe, 7 Kommentare

Hallo ihr Lieben,
ich habe folgendes Problem.
Ich habe die Aufgabe bekommen, ein Anmeldescript unter VB zu erstellen, in dem der jeweils angemeldete User begrüßt wird und gleichzeitig ein Netzlaufwerk verbunden wird. Das Script soll auf einem XP Client ausgeführt werden. Das Netzlaufwerk befindet sich aúf einem virtuellen Windows 2003 Server. Da ich leider absolut keine Ahnung von VB habe, und Google auch nichts wirklich passendes für mein Problem bietet, hoffe ich auf eure Hilfe

Danke und liebe Grüße,
h4zZ4rd
Mitglied: Sylvio
27.07.2007 um 14:51 Uhr
Hi,

Versuchs mal damit
01.
On Error Resume Next 
02.
 
03.
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") 
04.
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem") 
05.
For Each objComputer in colItems 
06.
    UN = objComputer.UserName  
07.
Next 
08.
    Msgbox "Hello " & UN ,  vbOKOnly, "Welcome" 
09.
 
10.
Set objshell = Wscript.CreateObject("WScript.Shell") 
11.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
12.
objshell.Run("net use k: /d"),0 'delete exsisting map 
13.
objshell.Run("net use k: \\servername\share"),0
wobei k: hier den Laufwerksbuchstaben darstellt.


Gruß,
Sylvio
Bitte warten ..
Mitglied: bastla
27.07.2007 um 15:57 Uhr
Hallo h4zz4rd und willkommen im Forum!

Als Alternative zu Sylvio's Vorschlag könntest Du es auch ohne die Verwendung der CMD-Shell probieren:
01.
On Error Resume Next 
02.
Set WshNetwork = CreateObject("WScript.Network") 
03.
MsgBox "Hello " & WshNetwork.UserName & " !", vbOKOnly, "Welcome" 
04.
WshNetwork.RemoveNetworkDrive "K:" 
05.
WshNetwork.MapNetworkDrive "K:", "\\servername\share"
Das "On Error Resume Next"-Statement brauchst Du vor allem für den Fall, dass K: noch nicht mit einem Netzlaufwerk verbunden ist (und daher auch nicht getrennt werden kann).

Falls Du das sauberer lösen wolltest, könntest Du die verbundenen Laufwerke abfragen:
01.
Set oDrives = WshNetwork.EnumNetworkDrives 
02.
For i = 0 to oDrives.Count - 1 Step 2 
03.
	If oDrives.Item(i) = "K:" Then WshNetwork.RemoveNetworkDrive "K:" 
04.
Next
Grüße
bastla
Bitte warten ..
Mitglied: problemsolver
27.07.2007 um 17:21 Uhr
Hi bastla!!!

was man so nebenbei so alles Schönes sieht hier... ;)
Danke sehr für deinen Beitrag! *als-kleines-licht-den-kopf-senk* *fg*

Bei uns ist es teilweise nämlich so, dass die Anmeldeskripte recht lange dauern. (.bat Scripte)
Es wurde immer so gemacht, dass mit net use * /delete /yes alle Laufwerke getrennt worden sind und dann wieder verbunden worden sind.

So wie Du es hier löst, ist es wahrscheinlich eine ganze Ecke schneller!!! (oooder?)

Interessehalber: Kennst Du noch eine Möglichkeit per Batch-Datei herauszufinden, ob ein Laufwerk K: (zum Beispiel) mit einer Ressource (nehmen wir mal "set verbindmich=\\server\meineressource$") noch verbunden ist? (Durch eine Abfrage per REG oder irgendetwas anderem?)
Auf Grundlage dieser könnte man die Anmeldeskripte schon genug optimieren ohne immer wieder alles erneut zu verbinden...

Schon mal danke im Voraus!

Lieben Gruß

Markus
Bitte warten ..
Mitglied: bastla
27.07.2007 um 19:31 Uhr
Hallo problemsolver!

Freut mich, wenn Du Interessantes gefunden hast ...

So wie Du es hier löst, ist es wahrscheinlich eine ganze Ecke schneller!!! (oooder?)
Das Script oben ist eigentlich eine Entsprechung zu Eurer Vorgangsweise (trennen / neu verbinden), also sollte es in der Form nicht wirklich schneller sein. Du könntest das Ganze allerdings tatsächlich umkehren und die Abfrage dazu benutzen, nur dann zu verbinden, wenn eben keine Laufwerksverbindung (zur richtigen Freigabe) besteht.
Eine Abfrage zu diesem Zweck in Batch könnte (für mehrere Netzlaufwerke) etwa so aussehen:
01.
@echo off & setlocal 
02.
for %%i in ("K:\\Server\Share4K" "L:\\Server\Share4L" "X:\\Server\Share4X") do for /f "tokens=1* delims=:" %%d in ('echo %%~i') do call :Connect %%d: "%%e" 
03.
goto :eof 
04.
:Connect 
05.
set conn= 
06.
for /f "tokens=3" %%i in ('net use^|findstr /i "%1"') do set "conn=%%i" 
07.
if /i "%conn%"==%2 goto :eof 
08.
if defined conn net use %1 /d>nul 
09.
net use %1 %2>nul 
10.
goto :eof
Wenn bereits richtig verbunden, lässt der Batch die Verbindung bestehen, wenn verbunden, allerdings nicht mit der richtigen Freigabe, wird getrennt und neu verbunden und wenn noch nicht verbunden wird natürlich gleichfalls "net use ..." ausgeführt.

Aber ob das etwas bringt ...

Grüße
bastla
Bitte warten ..
Mitglied: h4zz4rd
30.07.2007 um 09:07 Uhr
Hallo und danke für die Antwort(en)
Werd das heute morgen gleich mal ausprobieren und schauen, ob ich das auf die Reihe bekomme :P Melde mich dann später nochmal, um Bericht zu erstatten...

Liebe Grüße,
h4zZ4rd
Bitte warten ..
Mitglied: h4zz4rd
30.07.2007 um 09:27 Uhr
Huhu,
da bin ich schon wieder.
Vielen vielen Dank, das klappt ja wunderbar ;)

Nur noch eine kurze Frage zum Schluss:

Set WshNetwork = CreateObject("WScript.Network") --> Was bedeutet diese Zeile ganz genau? Die restlichen weiß ich, bzw konnte man sich denken, nur die Definition dieser nicht so ganz...

Wäre super, falls mir jmd diese Frage noch beantworten könnte.

Liebe Grüße,
h4zZ4rd

P.S. Achso, kann man irgendwie Kommentare einfügen? Habe die VBS mit dem Editor erstellt.
Ciaociao
Bitte warten ..
Mitglied: bastla
06.08.2007 um 16:18 Uhr
Hallo h4zz4rd!

Mit urlaubsbedingter Verspätung zum WshNetwork-Objekt den entsprechenden Hilfe-Text:

Bietet Zugriff auf die freigegebenen Ressourcen des Netzwerkes, mit dem der Computer verbunden ist.

Erstellen Sie ein WshNetwork-Objekt, wenn eine Verbindung mit Netzwerkfreigaben und Netzwerkdruckern hergestellt oder getrennt werden soll, wenn Netzwerkfreigaben zugeordnet oder entfernt werden sollen oder auf Informationen zu einem Benutzer des Netzwerkes zugegriffen werden soll.

Eigenschaften
ComputerName-Eigenschaft | UserDomain-Eigenschaft | UserName-Eigenschaft

Methoden
AddWindowsPrinterConnection-Methode | AddPrinterConnection-Methode | EnumNetworkDrives-Methode | EnumPrinterConnections-Methode | MapNetworkDrive-Methode | RemoveNetworkDrive-Methode | RemovePrinterConnection-Methode | SetDefaultPrinter-Methode

Kommentare können nach einem Apostroph eingefügt werden, also etwa
01.
WshNetwork.RemoveNetworkDrive "K:" 'Netzlaufwerk K: trennen
Grüße
bastla
Bitte warten ..
Ä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 Netzwerk
Netzlaufwerke mit NET USE verbinden, nur wenn User auch berechtigt ist.
gelöst Frage von BaxBannyWindows Netzwerk7 Kommentare

Hallo hilfsbereite Admins, ich habe folgendes Problem: In unserer Firma verbinden sich die Benutzer (in einer Windows 2003-Domäne) mittels ...

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 ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 4 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 22 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 23 StundenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen21 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit18 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...