Hallo zusammen,
ich habe ein einfaches Programm geschrieben mit dem es remote möglich sein soll eine Batch datei zu erstellen die alle aktuell verbundenen Netzlaufwerke enthält mit einer Profil sync vorab. Klappt auch soweit aber nur auf meinem Rechner
Nur wenn ich das Tool von einem Rechner im Firmennetz ausführe bekomme ich immer die Fehlermedlung: Laufzeitfehler '75':
Fehler beim Zugriff auf Pfad/Datei
woran liegt das?
anbei der Quelltext:
EDIT by Mad Andy:
VB-Tag eingefügt.
ich habe ein einfaches Programm geschrieben mit dem es remote möglich sein soll eine Batch datei zu erstellen die alle aktuell verbundenen Netzlaufwerke enthält mit einer Profil sync vorab. Klappt auch soweit aber nur auf meinem Rechner
Nur wenn ich das Tool von einem Rechner im Firmennetz ausführe bekomme ich immer die Fehlermedlung: Laufzeitfehler '75':
Fehler beim Zugriff auf Pfad/Datei
woran liegt das?
anbei der Quelltext:
Visual Basic-Quellcode
- Private Sub Command1_Click()
- Dim EnvString As String, Indx As Integer, userLen As Integer ' Declare variables.
- Indx = 1 ' Initialize index to 1.
- Do
- EnvString = Environ(Indx) ' Get environment
- ' variable.
- If Left(EnvString, 9) = "USERNAME=" Then ' Check USERNAME entry.
- userLen = Len("USERNAME=") ' Get length.
- Exit Do
- Else
- Indx = Indx + 1 ' Not PATH entry,
- End If ' so increment.
- '
- Loop Until EnvString = ""
- If userLen > 0 Then
- benName = Right(EnvString, Len(EnvString) - userLen)
- Else
- 'GoTo userErr
- End If
- Indx = 1 ' Initialize index to 1.
- Do
- EnvString = Environ(Indx) ' Get environment
- ' variable.
- If Left(EnvString, 11) = "USERDOMAIN=" Then ' Check USERDOMAIN entry.
- domainlen% = Len("USERDOMAIN=") ' Get length.
- Exit Do
- Else
- Indx = Indx + 1 ' Not PATH entry,
- End If ' so increment.
- Loop Until EnvString = ""
- If userLen > 0 Then
- domainName = Right(EnvString, Len(EnvString) - domainlen%)
- Else
- 'GoTo userErr
- End If
- Indx = 1 ' Initialize index to 1.
- Do
- EnvString = Environ(Indx) ' Get environment
- ' variable.
- If Left(EnvString, 13) = "COMPUTERNAME=" Then ' Check USERDOMAIN entry.
- computerNamelen% = Len("COMPUTERNAME=") ' Get length.
- Exit Do
- Else
- Indx = Indx + 1 ' Not PATH entry,
- End If ' so increment.
- Loop Until EnvString = ""
- If userLen > 0 Then
- computerName = Right(EnvString, Len(EnvString) - computerNamelen%)
- Else
- 'GoTo userErr
- End If
- Dim userStart As Integer, userStr As String
- userStr = "%user%"
- userStart = InStr(1, batPath, userStr, 1)
- Dim batPath1, batPath2 As String
- ' Objekt von FS erzeugen
- Set Fs = CreateObject("Scripting.FileSystemObject")
- ' Liste der Laufwerke
- Set dc = Fs.Drives
- ' Sind Netzlaufwerke verbunden?
- Dim Anzahl_Netzlaufwerke
- Anzahl_Netzlaufwerke = 0
- ' Schleife ueber alle Laufwerke
- For Each d In dc
- ' Typ des Netlaufwerk falls vorhanden, dann netcon.bat sichern in netcon.old
- If d.driveType = 3 Then
- Anzahl_Netzlaufwerke = Anzahl_Netzlaufwerke + 1
- End If
- Next
- 'Es müssen mindestens zwei LW verbunden sein (H: und Projekt/Abteilung)
- If Anzahl_Netzlaufwerke > 1 And domainName <> computerName Then
- Open (batPath & "\netuse.bat") For Output As #1 ' Datei fuer die net use ....
- ' Schleife ueber alle Laufwerke
- Print #1, "@echo off"
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "echo Ihre Laufwerke werden verbunden !!!"
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "echo Bitte haben Sie einen Moment Geduld ..."
- Print #1, "sleep 10"
- Print #1, "echo."
- For Each d In dc
- ' Typ = Netzlaufwerk
- If d.driveType = 3 Then
- ' in Batch-Datei schreiben
- If d.DriveLetter = "h" Or d.DriveLetter = "H" Then
- Print #1, "echo."
- End If
- Print #1, "net use " & d.DriveLetter & ": " & d.ShareName & " /USER:" + domainName + "\" + benName + " /p:n"
- End If
- Next
- Print #1, "cls"
- Print #1, "echo."
- Print #1, "echo."
- Print #1, "color 0a"
- Print #1, "net use"
- Print #1, "sleep 5"
- Print #1, "exit"
- MsgBox "Netzlaufwerke wurden gespeichert!"
- Else 'keine Netzlaufwerke verbunden
- MsgBox "Es sind keine Netzlaufwerke zum abspeichern verfübar, oder Sie sind nicht an einer Domäne angemeldet!"
- End If
- Close #1
- End Sub
EDIT by Mad Andy:
VB-Tag eingefügt.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()