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

Beim Login Script alle Netzwerklaufwerke trennen

Mitglied: Ferengie

Ferengie (Level 1) - Jetzt verbinden

22.03.2011 um 09:22 Uhr, 6094 Aufrufe, 16 Kommentare

Hallo Gemeinde,

ich habe ein Problem mit unserem Logi Script.

Beim Login sollen alle Netzlaufwerke getrennt werden.
Dies wird auch gemacht. Aber wenn man schon angemeldet ist und das Login Script noch einmal ausführt erscheint folgende Fehlermeldung:

Fehler: Falscher Parameter
Code 80070057
Quelle: WSHNetwork.RemoveNetworkDrive
Es handelt sich um folgenden Abschnitt:

'Disconnect ALL mapped drives
Set clDrives = objNetwork.EnumNetworkDrives
For i = 0 to clDrives.Count -1 Step 2
objNetwork.RemoveNetworkDrive clDrives.Item(i), True, True
Next

Es betrifft die Zeile:
objNetwork.RemoveNetworkDrive clDrives.Item(i), True, True


Habe ich dort einen Denkfehler.

Dieser Fehler erscheint immer dann, wenn sich ein User über Remote auf einen PC einwählt.

Also, wie schaffe ich es, dass erst alle vorhandenen Netzlaufwerke getrennt werden. Nach der erfolgreichen Trennung werden die Laufwerke wieder gemappt.

Vielen Dank im voraus!
Mitglied: laster
22.03.2011 um 09:25 Uhr
Hallo,

wenn's nicht VB sein mus:
01.
net use * /delete
vG
LS
Bitte warten ..
Mitglied: Snowman25
22.03.2011 um 09:32 Uhr
Und wenns doch VB sein muss:
01.
Set objShell = CreateObject("WScript.Shell") 
02.
objShell.Run "net use * /DELETE",0,True
GRuß
Snow
Bitte warten ..
Mitglied: Ferengie
22.03.2011 um 09:51 Uhr
Funktioniert auch nicht wirklich.
Es werden zwar alle LW getrennt, aber nicht neu gemappt.
Hier mal das komplette Script:

'Option Explicit 
 
Dim objNetwork, strDriveLetter, strRemotePath, strUserName 
 
strDriveLetter = "G:"  
strRemotePath = "\\rmsg-1.rmsg.intern\privat\"  
 
 
Set objNetwork = WScript.CreateObject("WScript.Network")  
 
strDomain = objNetwork.UserDomain  
strUserName = objNetwork.UserName  
 
 
'Disconnect ALL mapped drives 
Set clDrives = objNetwork.EnumNetworkDrives 
For i = 0 to clDrives.Count -1 Step 2 
   objNetwork.RemoveNetworkDrive clDrives.Item(i), True, True 
Next 
 
objNetwork.MapNetworkDrive "R:" , "\\rmsg-1.rmsg.intern\rmsg",True 
objNetwork.MapNetworkDrive "O:" , "\\rmsg-1.rmsg.intern\progs",True 
 
'Home Directory Setzen 
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath & strUserName 
 
 
'WScript.Echo " Launch Windows Explorer, check: "& strDriveLetter, strRemotePath & strUserName 
'WScript.Echo " Launch Windows Explorer, check: "& strDriveLetter 
'WScript.Quit
Bitte warten ..
Mitglied: BigWim
22.03.2011 um 10:01 Uhr
Moin Ferengie,

ehrlich gesagt, versteht ich schon gar nicht den Ablauf.

Aber wenn man schon angemeldet ist und das Login Script noch einmal ausführt erscheint folgende Fehlermeldung
Wie kann ein Loginscript ein zweites Mal laufen, wenn ich schon angemeldet bin?


Ein Benutzer meldet sich an.
Loginscript läuft ohne Fehler.

Ein Benutzer meldet sich über Remote.
Loginscript meldet "falscher Paramter"


Dein Script geht davon aus, dass in jedem Laufwerke vorhanden sind, die zu trennen sind. Ist das so?
Lass Dir doch mal anzeigen, was das Script eigentlich trennen möchte.
01.
For i = 0 to clDrives.Count -1 Step 2 
02.
WScript.Echo "Trenne " & clDrives.Item(i) 
03.
objNetwork.RemoveNetworkDrive clDrives.Item(i), True, True 
04.
Next

Grüße
Markus
Bitte warten ..
Mitglied: Ferengie
22.03.2011 um 10:10 Uhr
Es kommt folgende Meldung:

Trenne
Mehr nicht.

Nur zu meiner Entschuldigung - Ich bin nicht der VBS Profi.
Bitte warten ..
Mitglied: BigWim
22.03.2011 um 10:15 Uhr
Moin Ferengie,

Nur zu meiner Entschuldigung - Ich bin nicht der VBS Profi.
ich auch nicht und hoffe, dass das Echo richtig ist.

Ich denke aber, dass der Grund ist. Weil nichts zum trennen da ist, gibt es auch keine Parameter.

Damit Du nicht erst in diesen Fehler läufst, baue doch eine Abfrage ein. In etwa so (Syntax ist mir unbekannt)
01.
if clDrives.Count > 0 then 
02.
  For i = 0 to clDrives.Count -1 Step 2 
03.
  objNetwork.RemoveNetworkDrive clDrives.Item(i), True, True 
04.
  Next 
05.
endif oder end if
Markus
Bitte warten ..
Mitglied: Ferengie
22.03.2011 um 10:29 Uhr
Hallo BigWim!

Jetzt kommt folgende Meldung:

Fehler: Objekt erforderlich: clDrives' 
Code: 800A01A8 
Quelle: Laufzeitfehler in Microsoft VBScript
Aber vielen Dank!
Bitte warten ..
Mitglied: BigWim
22.03.2011 um 10:46 Uhr
Moin Ferengie,

ich fürchte, dass hat etwas mit der Syntax zu tun.

Ziel sollte sein, durch eine Abfrage von Count festzustellen, ob zu trennende Laufwerke vorhanden sind.

Vielleicht kannst Du die aktuelle Version des Scriptes mal veröffentlichen.

Grüße
Markus
Bitte warten ..
Mitglied: Ferengie
22.03.2011 um 10:48 Uhr
Hallo BigWim,

die komplette Syntax steht weiter oben (3. Beitrag).
Bitte warten ..
Mitglied: laster
22.03.2011 um 10:51 Uhr
Hallo noch einmal,

01.
@echo off 
02.
 
03.
set strDriveLetter=G:   
04.
set strRemotePath=\\rmsg-1.rmsg.intern\privat 
05.
 
06.
::Disconnect ALL mapped drives  
07.
net use * /delete 
08.
 
09.
net use R: \\rmsg-1.rmsg.intern\rmsg 
10.
net use O: \\rmsg-1.rmsg.intern\progs 
11.
 
12.
::Home Directory Setzen  
13.
net use %strDriveLetter% %strRemotePath%\%USERNAME%
(falls es nicht VB sein muss).

vG
LS
Bitte warten ..
Mitglied: bastla
22.03.2011 um 10:51 Uhr
@BigWim
Die zusätzliche Abfrage ist nicht nötig - wenn clDrives.Count 0 ergibt, müsste die Schleife von 0 bis -1 laufen; da sie das bei einer Schrittweite von +2 nicht kann, wird sie einfach übersprungen ...
Dein Vorschlag von oben wäre übrigens so etwas informativer:
01.
Set objNetwork = WScript.CreateObject("WScript.Network") 
02.
Set clDrives = objNetwork.EnumNetworkDrives  
03.
For i = 0 to clDrives.Count -1 Step 2  
04.
   WScript.Echo clDrives.Item(i), clDrives.Item(i+1) 
05.
Next 
Grüße
bastla
Bitte warten ..
Mitglied: bastla
22.03.2011 um 10:53 Uhr
Hallo Ferengie!

Die Fehlermeldung ist vermutlich darauf zurückzuführen, dass Du nicht BigWims Vorschlag in Dein Script integriert, sondern eigenständig zu testen versucht hast - dann gibt es natürlich kein Objekt "clDrives" ...

Grüße
bastla
Bitte warten ..
Mitglied: BigWim
22.03.2011 um 11:37 Uhr
@bastla

Moin Bastla,

Dein Vorschlag von oben wäre übrigens so etwas informativer
Wenn ich doch soweit schon wäre ....

wenn clDrives.Count 0 ergibt, müsste die Schleife von 0 bis -1 laufen
Genau: Müßte

Ich befolge immer noch den Rat meines Klassenlehrers: Markus! Scharf nachdenken und dann das andere nehmen.
Meine Vermutung ging dahin, dass das Konstrukt vielleicht doch nicht richtig aufgebaut ist und mit der Abfrage wollte ich auf Nr. sichergehen, weil ich nämlich nicht weiß, was objNetwork.EnumNetworkDrives zurückliefert.

Grüße
Markus
Bitte warten ..
Mitglied: bastla
22.03.2011 um 11:50 Uhr
Hallo BigWim!
weil ich nämlich nicht weiß, was objNetwork.EnumNetworkDrives zurückliefert.
Wie Du dem "Enum" entnehmen kannst, erhältst Du eine "Enumeration" (Aufzählung) - kannst Du so ähnlich wie ein eindimensionales Array verwenden, sodass also auch
01.
Set objNetwork = WScript.CreateObject("WScript.Network") 
02.
Set clDrives = objNetwork.EnumNetworkDrives  
03.
For i = 0 to clDrives.Count -1 Step 2  
04.
   WScript.Echo clDrives(i), clDrives(i+1) 
05.
Next
funktionieren würde ...

Grüße
bastla
Bitte warten ..
Mitglied: Ferengie
22.03.2011 um 11:50 Uhr
Hallo an Alle,

ich habe das Problem jetzt gelöst.

Folgende Zeile habe ich noch vor "'Disconnect ALL mapped drives " eingefügt:

On Error Resume Next 
WSHNetwork.RemoveNetworkdrive 
 
If Err.Number Then 
WSHNetwork.RemoveNetworkdrive "G:" 
WSHNetwork.RemoveNetworkdrive "O:" 
WSHNetwork.RemoveNetworkdrive "R:" 
End if
Vielen Dank für Eure Mithilfe!
Bitte warten ..
Mitglied: BigWim
22.03.2011 um 12:03 Uhr
Hallo Bastla,

vielen Dank für die Erklärung.

Markus
Bitte warten ..
Ähnliche Inhalte
PHP
MYSQL und PHP Login Script
gelöst Frage von GoldencreeperPHP17 Kommentare

Hallo liebe Administrator Community. Ich habe Arbeite grade an einer Status Seite für einen Hoster. Die Seite ist auch ...

Windows Server

Login Script verzögert ausführen

Frage von Intruder0001Windows Server6 Kommentare

Hallo gibt es die Möglichkeit das login Script verzögert nach der Anmeldung ca. 10-20sek auszuführen ?? Gerade bei schnellen ...

Windows Server

Pdf per login script

gelöst Frage von ToggleWindows Server4 Kommentare

Hallo zusammen, ich habe hier intern eine Fragestellung bekommen. Wir haben hier im 3 Stunden-Takt Personen, die sich an ...

Windows Server

Login Script als Domänenadmin ausführen

Frage von erikroWindows Server27 Kommentare

Hallo zusammen, folgendes Problem: Es sollen Außendienstmitarbeiter je nach Einsatzort einer bestimmten Gruppe im AD zugewiesen werden, damit sie ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 48 MinutenSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 10 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 22 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...