Sukkurashu 0 Geschrieben 8. September 2014 Melden Teilen Geschrieben 8. September 2014 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 Zitieren Link zu diesem Kommentar
s_sonnen 20 Geschrieben 8. September 2014 Melden Teilen Geschrieben 8. September 2014 Hi Sukkurashu. Willkommen am board. Hast Du schon mal versucht nicht auf den symbolischen Namen zu referieren sondern auf die Servername oder IP und den Freigabenamen? Also statt "H:\" eine direkte Adressierung auf "\\Servername\Freigabename" oder sogar "192.xxx.xxx.xxx\Freigabename". ciao und viel Erfolg M. Zitieren Link zu diesem Kommentar
4077 30 Geschrieben 8. September 2014 Melden Teilen Geschrieben 8. September 2014 Ich versteh nicht soviel von VBS (OK, gar nix :-) ), aber wo im Skript mappst Du das Laufwerk H:\? Für mich fehlt das so etwas, wie: Dim WshNetwork Set WshNetwork = WScript.CreateObject("WScript.Network") WshNetwork.MapNetworkDrive "H:", "\\Server\Freigabe" (von http://msdn.microsoft.com/en-us/library/8kst88h6(v=vs.84).aspx) Dann würde es auch Sinn machen: kein H:\ => Fehlermeldung Zitieren Link zu diesem Kommentar
Sukkurashu 0 Geschrieben 8. September 2014 Autor Melden Teilen Geschrieben 8. September 2014 Hi Sukkurashu. Willkommen am board. Hast Du schon mal versucht nicht auf den symbolischen Namen zu referieren sondern auf die Servername oder IP und den Freigabenamen? Also statt "H:\" eine direkte Adressierung auf "\\Servername\Freigabename" oder sogar "192.xxx.xxx.xxx\Freigabename". ciao und viel Erfolg M. Die Idee hatte ich auch schon. Wäre eine Notlösung, denn die Profile sollen nur für Nutzer der Gruppe firma all kopiert werden. Und da ich ja bereits per GPO festgelegt habe das nur User der firma all Gruppe das Laufwerk H zugewiesen bekommen sollte dies die "pseudo Abfrage" sein ob er denn auch in dieser Gruppe ist. Die MSG habe ich nur zum testen eingebaut, die sollte nach erfolgreichem einbinden rausfliegen. Ich versteh nicht soviel von VBS (OK, gar nix :-) ), aber wo im Skript mappst Du das Laufwerk H:\? Für mich fehlt das so etwas, wie: Dim WshNetwork Set WshNetwork = WScript.CreateObject("WScript.Network") WshNetwork.MapNetworkDrive "H:", "\\Server\Freigabe" (von http://msdn.microsoft.com/en-us/library/8kst88h6(v=vs.84).aspx) Dann würde es auch Sinn machen: kein H:\ => Fehlermeldung Das mache ich über eine GPO mittels Laufwerkszuordnung, denn es müssen je nach Gruppenmitgliedschaft andere Netzlaufwerke eingerichtet werden. (Das funktioniert ja auch super) Zitieren Link zu diesem Kommentar
4077 30 Geschrieben 8. September 2014 Melden Teilen Geschrieben 8. September 2014 Das mache ich über eine GPO mittels Laufwerkszuordnung, denn es müssen je nach Gruppenmitgliedschaft andere Netzlaufwerke eingerichtet werden. (Das funktioniert ja auch super) Dann vermute ich mal, daß die GPO zu diesem Zeitpunkt bei der Anmeldung noch nicht abgearbeitet wurde. Der Benutzer-Anteil der GPO des Laufwerk-Mappings wird ja erst bei der Anmeldung verarbeitet und nicht schon beim "Warten auf's Netzwerk" Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 9. September 2014 Melden Teilen Geschrieben 9. September 2014 Sind Deine User Administratoren? Dann scheiterst Du vmtl. an UAC und dem fehlenden EnableLinkedConnnections, da Anmeldeskripts mit dem elevated Token ausgeführt werden. Die Vermutung von 4077 ist falsch, Anmeldeskripts laufen erst, wenn alles andere aus GPOs angewendet wurde. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.