Chrisy123 10 Geschrieben 29. Dezember 2008 Melden Teilen Geschrieben 29. Dezember 2008 Hi! Kann mir jemand auf die Sprünge helfen. Ich lass per GPO meine Scripts verteilen, das funzt auch. Ich hab nur ein Problem mit folgenden VB. 'Startmenü erzeugen Set fso = CreateObject("Scripting.FileSystemObject") Set Shell = CreateObject("WScript.Shell") MenuePath = Shell.SpecialFolders("Programs") & "\Lohnbuchhaltung" If Not fso.FolderExists(MenuePath) Then fso.CreateFolder(MenuePath) Set link = Shell.CreateShortcut(MenuePath & "\ELDA Client.lnk") link.IconLocation = "I:\Lohnbuchhaltung\ELDA\EldaClient.exe,0" link.TargetPath = "I:\Lohnbuchhaltung\ELDA\EldaClient.exe" link.WindowStyle = 1 link.Save Er verschluckt mir die Verknüpfung am Clienten, das "T" von der EldaClient.exe, sprich er führt "EldaClien.exe" aus :confused:. 'Startmenü erzeugen Set fso = CreateObject("Scripting.FileSystemObject") Set Shell = CreateObject("WScript.Shell") MenuePath = Shell.SpecialFolders("Programs") & "\Lohnbuchhaltung" If Not fso.FolderExists(MenuePath) Then fso.CreateFolder(MenuePath) Set link = Shell.CreateShortcut(MenuePath & "\BMD Client.lnk") link.IconLocation = "I:\Lohnbuchhaltung\Software\BMDClients\Netspeed\BMD.exe,0" link.TargetPath = "I:\Lohnbuchhaltung\Software\BMDClients\Netspeed\BMD.exe" link.WindowStyle = 1 link.Save Bei der Verknüpfung am Client, muss ich die Verknüpfung erst korrigieren. Danach funzt es. Wenn ich die Verknüpfungen per Hand ausführe passt alles. Zitieren Link zu diesem Kommentar
NilsK 2.938 Geschrieben 29. Dezember 2008 Melden Teilen Geschrieben 29. Dezember 2008 Moin, besteht das Problem auch, wenn du das Skript manuell am Client ausführst? Wie ist die Skriptdatei gespeichert - als ANSI oder als Unicode? Ich habe bei GPO-Skripts festgestellt, dass es bisweilen Probleme mit Unicode-Dateien gibt. Wenn ich dein Skript manuell ausführe, legt es hier die Verknüpfungen richtig an. Gruß, Nils Zitieren Link zu diesem Kommentar
Chrisy123 10 Geschrieben 29. Dezember 2008 Autor Melden Teilen Geschrieben 29. Dezember 2008 Moin, besteht das Problem auch, wenn du das Skript manuell am Client ausführst? Wie ist die Skriptdatei gespeichert - als ANSI oder als Unicode? Ich habe bei GPO-Skripts festgestellt, dass es bisweilen Probleme mit Unicode-Dateien gibt. Wenn ich dein Skript manuell ausführe, legt es hier die Verknüpfungen richtig an. Gruß, Nils Hi Erstmal Danke für deine Antwort. Wenn ich den Script direkt am Clienten ausführe, ist alles richtig. Die VBS sind als ANSI gespeichert. Ich probiere es gleich per Unicode. Danke. gruß Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 29. Dezember 2008 Melden Teilen Geschrieben 29. Dezember 2008 Er verschluckt mir die Verknüpfung am Clienten, das "T" von der EldaClient.exe, sprich er führt "EldaClien.exe" aus :confused:. wenn ich das richtig sehe, verschluckt er nicht nur das T, sondern N und T. Nimmt also nur 8 Zeichen... Ist dieses I-Laufwerk denn korrekt verbunden? Wie sehen denn die Pfade in den Verknüpfungen aus, bevor z.B. "Korrigieren" gedrückt wird? Zitieren Link zu diesem Kommentar
Chrisy123 10 Geschrieben 29. Dezember 2008 Autor Melden Teilen Geschrieben 29. Dezember 2008 wenn ich das richtig sehe, verschluckt er nicht nur das T, sondern N und T. Nimmt also nur 8 Zeichen... Ist dieses I-Laufwerk denn korrekt verbunden? Wie sehen denn die Pfade in den Verknüpfungen aus, bevor z.B. "Korrigieren" gedrückt wird? Hi Sowohl ANSI als UNICODE funktionieren beide, aber der Fehler bleibt. Scripts werden beim Anmelden gestartet. Das Laufwerk I werd per Script vergeben, hat aber eine höhere Priorität in der Reihenfolge. Du hast Recht, bei dem ELDAClient verschluckt er mehr :-). Bei ELDA will er die Verknüpfung löschen, beim BMD will er Sie korrigieren. gruß Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 29. Dezember 2008 Melden Teilen Geschrieben 29. Dezember 2008 Nochmal die Frage: Wie sehen die Pfade in der Verknüpfung (Rechtsklick - Eigenschaften) ohne Löschen/Korrigieren aus? Zitieren Link zu diesem Kommentar
Chrisy123 10 Geschrieben 29. Dezember 2008 Autor Melden Teilen Geschrieben 29. Dezember 2008 Nochmal die Frage: Wie sehen die Pfade in der Verknüpfung (Rechtsklick - Eigenschaften) ohne Löschen/Korrigieren aus? Hier hier Verknüpfung Client (untouched) Original I:\Lohnbuchhaltung\Software\BMDClients\Netspeed\BMD.exe I:\Lohnbuchhaltung\ELDA\EldaClient.exe Zitieren Link zu diesem Kommentar
NilsK 2.938 Geschrieben 29. Dezember 2008 Melden Teilen Geschrieben 29. Dezember 2008 Moin, jetzt noch mal langsam. In den Screenshots passt auch der Pfad nicht zum Code: Dort steht nur "Lohnbuch" statt "Lohnbuchhaltung". Bitte um Aufklärung. Zumindest sieht das Ganze sehr seltsam aus. Kannst du bitte dein Skript mal um Fehlerbehandlung und Logging ergänzen? Vielleicht ergibt das ja was. Es ist aber sichergestellt, dass da wirklich das Skript läuft, das du meinst? Nicht dass du versehentlich eine falsche Kopie erwischt hast und an dem tatsächlich ausgeführten Code gar nichts änderst. Gruß, Nils Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 29. Dezember 2008 Melden Teilen Geschrieben 29. Dezember 2008 Die Pfade werden also grundsätzlich auf 8 Zeichen gekürzt... D.h. zur Ausführungszeit der GPO beherrscht das I-Laufwerk keine langen Dateinamen.... hmmm... Was für ein Server hängt denn hinter dem I:? Novell? Zitieren Link zu diesem Kommentar
Chrisy123 10 Geschrieben 29. Dezember 2008 Autor Melden Teilen Geschrieben 29. Dezember 2008 Moin, jetzt noch mal langsam. In den Screenshots passt auch der Pfad nicht zum Code: Dort steht nur "Lohnbuch" statt "Lohnbuchhaltung". Bitte um Aufklärung. Zumindest sieht das Ganze sehr seltsam aus. Kannst du bitte dein Skript mal um Fehlerbehandlung und Logging ergänzen? Vielleicht ergibt das ja was. Es ist aber sichergestellt, dass da wirklich das Skript läuft, das du meinst? Nicht dass du versehentlich eine falsche Kopie erwischt hast und an dem tatsächlich ausgeführten Code gar nichts änderst. Gruß, Nils Es ist definitv das richtige Script! Siehe Anhang. Es gibt doch die Möglichkeit den Pfad mit "~" zu kürzen? Die Pfade werden also grundsätzlich auf 8 Zeichen gekürzt...D.h. zur Ausführungszeit der GPO beherrscht das I-Laufwerk keine langen Dateinamen.... hmmm... Was für ein Server hängt denn hinter dem I:? Novell? Windows SBS 2003 Scripts.zip Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 29. Dezember 2008 Melden Teilen Geschrieben 29. Dezember 2008 Es gibt doch die Möglichkeit den Pfad mit "~" zu kürzen? Ja. Wie die Pfade/Dateinamen dann heissen, kann man am CMD z.B. mittels DIR /X rausfinden. Warum das aber passiert, würde ich schon lieber herausfinden. Hab allerdings grad keine Idee... Mal noch nebenher: Was für ein Client ist es denn? W2K? XP? Vista? Zitieren Link zu diesem Kommentar
Chrisy123 10 Geschrieben 29. Dezember 2008 Autor Melden Teilen Geschrieben 29. Dezember 2008 Ja. Wie die Pfade/Dateinamen dann heissen, kann man am CMD z.B. mittels DIR /X rausfinden. Warum das aber passiert, würde ich schon lieber herausfinden. Hab allerdings grad keine Idee... Mal noch nebenher: Was für ein Client ist es denn? W2K? XP? Vista? Clients sind alle Windows XP SP3. Server ist halt ein SBS 2003 SP2 :cry:. Zitieren Link zu diesem Kommentar
NilsK 2.938 Geschrieben 30. Dezember 2008 Melden Teilen Geschrieben 30. Dezember 2008 Moin, das Problem bei den vom System erzeugten kurzen Datei-/Ordnernamen ist, dass sie nicht deterministisch sind. Gibt es eine Datei "ganzlangername.txt", wird daraus "ganzla~1.txt". Bei der zweiten heißt es "ganzla~2.txt". In dem Fall, dass mehrere da sind, ist es nicht ohne Weiteres möglich, die Zuordnung zur richtigen Datei herauszufinden. Jedenfalls läuft da was falsch. Keine Ahnung, warum Windows (welches auch immer - das auf dem Client oder das auf dem Server) die Namen einfach abschneidet. Aus meiner Sicht darf es das nicht. Bau doch mal eine Verzögerung ein mit "WScript.Sleep 20000" oder so. Wenn es nach der Wartezeit funktioniert, hat es was mit Timing zu tun - was auch immer. Und probier mal, ob das Problem auf allen Clients auftritt und ob es auf dem Server auch auftritt. Nebenbei könntest du das Skript, sofern nicht zu lang, mal als Text hier posten. Der Zip-Anhang ist nämlich nicht freigeschaltet. Und gib bitte auch mal an, wie genau du das Laufwerk I: mappst. Gruß, Nils Zitieren Link zu diesem Kommentar
Chrisy123 10 Geschrieben 30. Dezember 2008 Autor Melden Teilen Geschrieben 30. Dezember 2008 Moin, das Problem bei den vom System erzeugten kurzen Datei-/Ordnernamen ist, dass sie nicht deterministisch sind. Gibt es eine Datei "ganzlangername.txt", wird daraus "ganzla~1.txt". Bei der zweiten heißt es "ganzla~2.txt". In dem Fall, dass mehrere da sind, ist es nicht ohne Weiteres möglich, die Zuordnung zur richtigen Datei herauszufinden. Jedenfalls läuft da was falsch. Keine Ahnung, warum Windows (welches auch immer - das auf dem Client oder das auf dem Server) die Namen einfach abschneidet. Aus meiner Sicht darf es das nicht. Bau doch mal eine Verzögerung ein mit "WScript.Sleep 20000" oder so. Wenn es nach der Wartezeit funktioniert, hat es was mit Timing zu tun - was auch immer. Und probier mal, ob das Problem auf allen Clients auftritt und ob es auf dem Server auch auftritt. Nebenbei könntest du das Skript, sofern nicht zu lang, mal als Text hier posten. Der Zip-Anhang ist nämlich nicht freigeschaltet. Und gib bitte auch mal an, wie genau du das Laufwerk I: mappst. Gruß, Nils Guten Morgen Hier erstmal die beiden Scripts. Desktop Verknüpfung - BMD Set fso = CreateObject("Scripting.FileSystemObject") Set Shell = CreateObject("WScript.Shell") MenuePath = Shell.SpecialFolders("Programs") & "\Lohnbuchhaltung" If Not fso.FolderExists(MenuePath) Then fso.CreateFolder(MenuePath) Set link = Shell.CreateShortcut(MenuePath & "\BMD Client.lnk") link.IconLocation = "I:\Lohnbuchhaltung\Software\BMDClients\Netspeed\BMD.exe,0" link.TargetPath = "I:\Lohnbuchhaltung\Software\BMDClients\Netspeed\BMD.exe" link.WindowStyle = 1 link.Save Desktop Verknüpfung - ELDA Set fso = CreateObject("Scripting.FileSystemObject") Set Shell = CreateObject("WScript.Shell") MenuePath = Shell.SpecialFolders("Programs") & "\Lohnbuchhaltung" If Not fso.FolderExists(MenuePath) Then fso.CreateFolder(MenuePath) Set link = Shell.CreateShortcut(MenuePath & "\ELDA Client.lnk") link.IconLocation = "I:\Lohnbuchhaltung\ELDA\EldaClient.exe,0" link.TargetPath = "I:\Lohnbuchhaltung\ELDA\EldaClient.exe" link.WindowStyle = 1 link.Save Laufwerk I verbinden ' LAUFWERK_I.VBS ' Option Explicit Dim objNetwork, strDrive, objShell, objUNC Dim strRemotePath, strDriveLetter, strNewName ' strDriveLetter = "I:" strRemotePath = "\\XXX\Firmendaten$\XXX" strNewName = "XXXX. - Struktur" ' Section to map the network drive Set objNetwork = CreateObject("WScript.Network") objNetwork.MapNetworkDrive strDriveLetter, strRemotePath ' Section which actually (re)names the Mapped Drive Set objShell = CreateObject("Shell.Application") objShell.NameSpace(strDriveLetter).Self.Name = strNewName WScript.Quit ' End of script. Am Server führt er den Script auch falsch aus. Er verschluckt die Zeichen. Dann hat sich das mit WScript.Sleep erledigt oder? Dann liegt das Prob am Server :mad: Zitieren Link zu diesem Kommentar
NilsK 2.938 Geschrieben 30. Dezember 2008 Melden Teilen Geschrieben 30. Dezember 2008 Moin, doch, probier das mit der Verzögerung mal aus. Nur um zu schauen, ob es irgendwas mit Timing zu tun hat. Du hast ja gesagt, dass es bei manuellem Aufruf funktioniert, daher der Verdacht. Probiere darüber hinaus mal, das Umbenennen des I-Laufwerks wegzulassen. Es ist aber am Server nicht zufällig die Unterstützung langer Dateinamen abgeschaltet? Zu NT-Zeiten kannte ich dazu mal den Regkey. Gruß, Nils 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.