VBSkript ohne Fehlermeldungen

zyclop

Erfahrenes Mitglied
Hallo zusammen

Wir sind zurzeit bei einem Kunden und machen eine Domänen Umstellung. Leider haben wir ein Problem mit dem Login Script. Das sieht wie folgt aus:

Code:
                                       'declare global variables here
Option Explicit
On Error Resume Next
Dim oShell, oNet, oFSO, oWshNetwork, oGroupDict

'-----------------
                                       'Objects go here
Set oShell = CreateObject("Wscript.Shell")
Set oNet = CreateObject("Wscript.Network")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oWshNetwork = CreateObject("Wscript.Network")
 
'-----------------
 

oWshNetwork.RemoveNetworkDrive "H:"
oWshNetwork.MapNetworkDrive "H:", "\\NetappGBB\Users$\"& oWshNetwork.UserName

If IsMember("Domänen-Benutzer") OR ("Domänen-Admins") Then
    oWshNetwork.RemoveNetworkDrive "E:"
    MapDrive "E:", "\\testserver", "\Data"
End If
If IsMember("Domänen-Benutzer") Then
    oWshNetwork.RemoveNetworkDrive "L:"
    MapDrive "L:", "\\10.1.6.121", "\home"
End If
If IsMember("Domänen-Benutzer") Then
    oWshNetwork.RemoveNetworkDrive "I:"
    MapDrive "I:", "\\10.1.6.121", "\finanz"
End If
If IsMember("Domänen-Benutzer") Then
    oWshNetwork.RemoveNetworkDrive "Y:"
    MapDrive "Y:", "\\10.1.6.121", "\risk"
End If
If IsMember("Test Acquiring") Then
    oWshNetwork.RemoveNetworkDrive "R:"
    MapDrive "R:", "\\192.172.0.112", "\RzKom_Extern"
End If
If IsMember("Test Acquiring") Then
    oWshNetwork.RemoveNetworkDrive "M:"
    MapDrive "M:", "\\192.172.0.118"
End If
If IsMember("Test Customer Service") Then
    oWshNetwork.RemoveNetworkDrive "X:"
    MapDrive "X:", "\\10.1.6.50", "\home"
End If
If IsMember("Accounting") Then
    oWshNetwork.RemoveNetworkDrive "F:"
    MapDrive "X:", "\\10.1.6.101", "\e$"
End If


'WshNetwork.AddWindowsPrinterConnection "\\tunix.testserver.ch\HP2200"
'WshNetwork.AddWindowsPrinterConnection "\\tunix.testserver.ch\HP2200-2"
'WshNetwork.AddWindowsPrinterConnection "\\tunix.testserver.ch\HP2200-3"
'WshNetwork.SetDefaultPrinter "\\tunix.testserver.ch\HP2200-3"


'-----------------



Function IsMember(sGroup)
    Dim sAdsPath, oUser, oGroup
    If IsEmpty(oGroupDict) Then
        Set oGroupDict         = CreateObject("Scripting.Dictionary")
        oGroupDict.CompareMode = vbTextCompare
        sAdsPath  = oNet.UserDomain & "/" & oNet.UserName
        Set oUser = GetObject("WinNT://" & sAdsPath & ",user")
        For Each oGroup In oUser.Groups
            oGroupDict.Add oGroup.Name, "-"
        Next
        Set oUser = Nothing
    End If
    IsMember = CBool(oGroupDict.Exists(sGroup))
End Function


'-----------------


Function MapDrive(Drive, FileServer, Share)
    If oFSO.DriveExists(FileServer & Share) = True Then
        oNet.MapNetworkDrive Drive, FileServer & Share
    Else
        Wscript.Echo("Cannot Map " & Drive & " to " & FileServer & Share)
    End If
End Function

Wenn hier nun ein Laufwerk noch nicht verbunden werden kann, dann gibt es folgende Meldung:

[Siehe Anhang]

Nun die Frage, ist es möglich diese Fehlermeldungen zu unterbinden? Wir brauchen dass für eine 2 Monatige Überbrückungszeit. Ich bin halt eher der Client Systemtechiker und kenne mich mit Scripts sehr wenig aus.

Ich würde mich über jede Antwort freuen.

Besten Dank
zyclop
 

Anhänge

  • fehlermeldung.PNG
    fehlermeldung.PNG
    776 Bytes · Aufrufe: 18
Zuletzt bearbeitet:
Dies ist ein selber generierter Fehler.
Visual Basic:
Function MapDrive(Drive, FileServer, Share)
    If oFSO.DriveExists(FileServer & Share) = True Then
        oNet.MapNetworkDrive Drive, FileServer & Share
    Else
        Wscript.Echo("Cannot Map " & Drive & " to " & FileServer & Share)
    End If
End Function

Du kannst den ganzen else-Teil einfach auskommentieren:
Visual Basic:
Function MapDrive(Drive, FileServer, Share)
    If oFSO.DriveExists(FileServer & Share) = True Then
        oNet.MapNetworkDrive Drive, FileServer & Share
    Else
        '26.09.2011 zyclop: Temporäres Ausschalten der Fehlermeldung
        'Wscript.Echo("Cannot Map " & Drive & " to " & FileServer & Share)
    End If
End Function

Das hat aber zur Folge dass es gar keine Meldungen mehr gibt, auch bei den anderen Laufwerken.
Du kannst aber auch eine Laufwerkspezifische Ausschaltung machen
Visual Basic:
Function MapDrive(Drive, FileServer, Share)
    If oFSO.DriveExists(FileServer & Share) = True Then
        oNet.MapNetworkDrive Drive, FileServer & Share
    Else
        '26.09.2011 zyclop: Temporäres Ausschalten der Fehlermeldung nur für Laufwerk L
        If not Drive = "L" then
            Wscript.Echo("Cannot Map " & Drive & " to " & FileServer & Share)
        End If
    End If
End Function
 
Werde es gleich Testen. Vielen Dank für die Info.

Jap hat super funktioniert. Vielen Dank nochmals!

gruss Zyclop
 

Neue Beiträge

Zurück