Netzlaufwerk Batch erstellen

  • VB6

    Netzlaufwerk Batch erstellen

    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 :D aber nur auf meinem Rechner X(

    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

    1. Private Sub Command1_Click()
    2. Dim EnvString As String, Indx As Integer, userLen As Integer ' Declare variables.
    3. Indx = 1 ' Initialize index to 1.
    4. Do
    5. EnvString = Environ(Indx) ' Get environment
    6. ' variable.
    7. If Left(EnvString, 9) = "USERNAME=" Then ' Check USERNAME entry.
    8. userLen = Len("USERNAME=") ' Get length.
    9. Exit Do
    10. Else
    11. Indx = Indx + 1 ' Not PATH entry,
    12. End If ' so increment.
    13. '
    14. Loop Until EnvString = ""
    15. If userLen > 0 Then
    16. benName = Right(EnvString, Len(EnvString) - userLen)
    17. Else
    18. 'GoTo userErr
    19. End If
    20. Indx = 1 ' Initialize index to 1.
    21. Do
    22. EnvString = Environ(Indx) ' Get environment
    23. ' variable.
    24. If Left(EnvString, 11) = "USERDOMAIN=" Then ' Check USERDOMAIN entry.
    25. domainlen% = Len("USERDOMAIN=") ' Get length.
    26. Exit Do
    27. Else
    28. Indx = Indx + 1 ' Not PATH entry,
    29. End If ' so increment.
    30. Loop Until EnvString = ""
    31. If userLen > 0 Then
    32. domainName = Right(EnvString, Len(EnvString) - domainlen%)
    33. Else
    34. 'GoTo userErr
    35. End If
    36. Indx = 1 ' Initialize index to 1.
    37. Do
    38. EnvString = Environ(Indx) ' Get environment
    39. ' variable.
    40. If Left(EnvString, 13) = "COMPUTERNAME=" Then ' Check USERDOMAIN entry.
    41. computerNamelen% = Len("COMPUTERNAME=") ' Get length.
    42. Exit Do
    43. Else
    44. Indx = Indx + 1 ' Not PATH entry,
    45. End If ' so increment.
    46. Loop Until EnvString = ""
    47. If userLen > 0 Then
    48. computerName = Right(EnvString, Len(EnvString) - computerNamelen%)
    49. Else
    50. 'GoTo userErr
    51. End If
    52. Dim userStart As Integer, userStr As String
    53. userStr = "%user%"
    54. userStart = InStr(1, batPath, userStr, 1)
    55. Dim batPath1, batPath2 As String
    56. ' Objekt von FS erzeugen
    57. Set Fs = CreateObject("Scripting.FileSystemObject")
    58. ' Liste der Laufwerke
    59. Set dc = Fs.Drives
    60. ' Sind Netzlaufwerke verbunden?
    61. Dim Anzahl_Netzlaufwerke
    62. Anzahl_Netzlaufwerke = 0
    63. ' Schleife ueber alle Laufwerke
    64. For Each d In dc
    65. ' Typ des Netlaufwerk falls vorhanden, dann netcon.bat sichern in netcon.old
    66. If d.driveType = 3 Then
    67. Anzahl_Netzlaufwerke = Anzahl_Netzlaufwerke + 1
    68. End If
    69. Next
    70. 'Es müssen mindestens zwei LW verbunden sein (H: und Projekt/Abteilung)
    71. If Anzahl_Netzlaufwerke > 1 And domainName <> computerName Then
    72. Open (batPath & "\netuse.bat") For Output As #1 ' Datei fuer die net use ....
    73. ' Schleife ueber alle Laufwerke
    74. Print #1, "@echo off"
    75. Print #1, "echo."
    76. Print #1, "echo."
    77. Print #1, "echo."
    78. Print #1, "echo Ihre Laufwerke werden verbunden !!!"
    79. Print #1, "echo."
    80. Print #1, "echo."
    81. Print #1, "echo."
    82. Print #1, "echo."
    83. Print #1, "echo."
    84. Print #1, "echo."
    85. Print #1, "echo Bitte haben Sie einen Moment Geduld ..."
    86. Print #1, "sleep 10"
    87. Print #1, "echo."
    88. For Each d In dc
    89. ' Typ = Netzlaufwerk
    90. If d.driveType = 3 Then
    91. ' in Batch-Datei schreiben
    92. If d.DriveLetter = "h" Or d.DriveLetter = "H" Then
    93. Print #1, "echo."
    94. End If
    95. Print #1, "net use " & d.DriveLetter & ": " & d.ShareName & " /USER:" + domainName + "\" + benName + " /p:n"
    96. End If
    97. Next
    98. Print #1, "cls"
    99. Print #1, "echo."
    100. Print #1, "echo."
    101. Print #1, "color 0a"
    102. Print #1, "net use"
    103. Print #1, "sleep 5"
    104. Print #1, "exit"
    105. MsgBox "Netzlaufwerke wurden gespeichert!"
    106. Else 'keine Netzlaufwerke verbunden
    107. MsgBox "Es sind keine Netzlaufwerke zum abspeichern verfübar, oder Sie sind nicht an einer Domäne angemeldet!"
    108. End If
    109. Close #1
    110. End Sub



    EDIT by Mad Andy:
    VB-Tag eingefügt.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()