Hallo,
ich habe ein VBSkript geschrieben welches vorgefertigte Chrome, Firefox und Thunderbird Profile bei neuen Usern (also Usern die noch keine Profile haben) vom Server zu kopieren.
Das Script funktioniert auch super solange ich es manuell und nicht als Anmeldeskript starte.
Denn wen ich das tue meldet mir das Skript immer das Laufwerk H: nich existiert und hält an (Was für diesen Fall auch vorgesehen ist).
Doch wenn ich dann nachschaue existiert das Netzlaufwerk H.
Ich habe bereits in der Gruppenrichtlinie Warten auf Netzwerk aktiviert und trotzdem kommt immer dieser "Fehler".
Ich habe sogar schon eine manuelle Pause von 10 und sogar 20 Sekunden eingebunden doch nichts hat geholfen.
Hier mal das Skript (nicht wundern ist etwas Chaotisch, bin noch Anfänger)
Set objShell = WScript.CreateObject("WScript.Shell")
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Dim MsgTxt
Dim strDriveLetter
Dim objFileSystem
Const TIMEOUT = 5
Call Check
Sub Check
strDriveLetter = "H:"
If (objFileSystem.DriveExists(strDriveLetter)) Then
Call Ordner
Else
MsgTxt = "Das Netzwerklaufwerk H:\ wurde nicht gefunden." & vbCrlf & " " & vbCrlf & "Bitte wenden Sie sich an den Systemadministrator."
objShell.Popup MsgTxt
WScript.Quit()
End If
End Sub
Sub Ordner
'ZielOrdner existenz überprüfen und ggf. erstellen
set fs = CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("WScript.Shell")
If NOT fs.folderexists(objShell.ExpandEnvironmentStrings ("H:\Profile\")) then
set folder = fs.createfolder(objShell.ExpandEnvironmentStrings ("H:\Profile\"))
MsgTxt = "Erstelle das Profil Verzeichnis."
Call Msg
End if
If NOT fs.folderexists(objShell.ExpandEnvironmentStrings ("H:\Profile\Chrome\")) Then
MsgTxt = "Kopiere das Chrome Profil."
Call Msg
'Ordner vom Server auf PC kopieren(true=überschreiben Zielordner)
fs.copyfolder ("\\scsrv-01\hidden_profiles$\Chrome"), objShell.ExpandEnvironmentStrings ("H:\Profile\"),True
End If
If NOT fs.folderexists(objShell.ExpandEnvironmentStrings ("H:\Profile\Firefox\")) Then
MsgTxt = "Erstelle das Firefox Profil."
Call Msg
'Ordner vom Server auf PC kopieren(true=überschreiben Zielordner)
fs.copyfolder ("\\scsrv-01\hidden_profiles$\Firefox"), objShell.ExpandEnvironmentStrings ("H:\Profile\"),true
End If
if NOT fs.folderexists(objShell.ExpandEnvironmentStrings ("H:\Profile\Thunderbird\")) Then
MsgTxt = "Erstelle das Thunderbird Profil."
Call Msg
'Ordner vom Server auf PC kopieren(true=überschreiben Zielordner)
fs.copyfolder ("\\scsrv-01\hidden_profiles$\Thunderbird"), objShell.ExpandEnvironmentStrings ("H:\Profile\"),true
End If
WScript.Quit()
End Sub
Sub Msg
objShell.Popup MsgTxt, TIMEOUT
End Sub
Ich bin für jeden Hinweis dankbar :)
Danke im voraus