redeye
Goto Top

Automatische Verknüpfung am Desktop einer Netzlaufwerksverbindung unter WIN XP beim Start

Skript gesucht, Batch, VB, was auch immer aber kein zusätzliches Programm.

Hallo,

ich bin auf der Suche nach einem Skript (welche Sprache auch immer) das die beim Start verbundenen Netzlaufwerke automatisch am Desktop verknüpft bei Windows XP.
Fertige Programme gibt es, jedoch wäre es mir lieber wenn ich das mit einem Skript erledigen kann.

Es gibt eine ähnliche Funktion in ac'tivAid (http://www.heise.de/ct/projekte/Windows-weitergedacht-ac-tivAid-284115. ..).
Ich hab mir das Programm bereits runtergeladen und den Quellcode extrahiert, ist mit AutoHotkey geschrieben, jedoch sind so viele Files enthalten das ich beim durchsehen jetzt mal aufgegeben habe.

Vielleicht hat jemand einen Tipp!

--
LG
RedEye

Content-ID: 146164

Url: https://administrator.de/contentid/146164

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

Comtelko
Comtelko 04.07.2010 um 07:37:52 Uhr
Goto Top
hallo,

ich empfehle dir mal den befehl "net use" in der Kommandozeile anzuschauen. damit kannst du mehrere netzlaufwerke verbinden die dann beim neustart mitgeladen werden.

mfg dirk
Terminatorthree
Terminatorthree 04.07.2010 um 11:19:21 Uhr
Goto Top
Er will aber die verbundenen Netzlaufwerke als Verknüpfung auf dem Desktop anlegen. Dafür wüsste ich keine Lösung mit net use. Mit Googles Hilfe habe ich das hier gefunden:
Set Shell = CreateObject("WScript.Shell")  
DesktopPath = Shell.SpecialFolders("Desktop")  
Set link = Shell.CreateShortcut(DesktopPath & "\test.lnk")  
link.Arguments = "1 2 3"  
link.Description = "test shortcut"  
link.HotKey = "CTRL+ALT+SHIFT+X"  
link.IconLocation = "app.exe,1"  
link.TargetPath = "c:\blah\app.exe"  
link.WindowStyle = 3
link.WorkingDirectory = "c:\blah"  
link.Save
ingmoa
ingmoa 04.07.2010 um 12:18:44 Uhr
Goto Top
Hallo,

die einfachste Variante wäre ein Shell script, allerdings kann man damit keine Verknüpfungen erstellen sondern müsst einmal am Ziellaufwerk die Verknüpfung erstellen und dann mittels "net use" das Laufwerk verbinden und anschl. die Verknüpfung auf den Desktop Kopieren.
Also:
1. neu Verknüpfung zu Netzlaufwerk erstellen z.B. Ziel "Z:" Name: „myNetdrive.ink“
2. Diese am Ziellaufwerk speichern
3. Script Datei erstellen (in autoexec.bat wenns beim start passieren soll)
4. Code für Scriptdatei:
net use \\Netzwekrpfad Z:
xcopy Z:\myNetrdrive.ink desktop

Alternativ wäre ein VB Script damit könnte man direkt Verknüpfungen erstellen.

lg moa
60730
60730 04.07.2010 um 15:20:01 Uhr
Goto Top
moin, und sorry - aber...

Zitat von @ingmoa:
Hallo,

die einfachste Variante wäre ein Shell script, allerdings kann man damit keine Verknüpfungen erstellen sondern
müsst einmal am Ziellaufwerk die Verknüpfung erstellen und dann mittels "net use" das Laufwerk verbinden und
anschl. die Verknüpfung auf den Desktop Kopieren.
Also:
1. neu Verknüpfung zu Netzlaufwerk erstellen z.B. Ziel "Z:" Name: „myNetdrive.ink“
ok..
2. Diese am Ziellaufwerk speichern
falsch
3. Script Datei erstellen (in autoexec.bat wenns beim start passieren soll)
die Autoexec gibt es doch heutzutage nur noch als alibi - die würde ich nicht mehr nehmen.
4. Code für Scriptdatei:
net use \\Netzwekrpfad Z:
auch falsch - net use laufwerk \\server\freigabe
xcopy Z:\myNetrdrive.ink desktop
und genau das ist der Grund - warum ich mich bei euch einmische...
  • so kopiert das script immer die lnks - ok kann man beseitigen und der pfad naja - schweigen ist gold, um Dieter Nuhr nicht zitieren zu müssen....
  • aber - richtig erstellte aliasse - merken sich wo Sie erzeugt wurden - deshalb ist der Weg Murks³.
Einfach mal "so" eine lnk mit Rechtklick öffnen, und schauen, was das Ziel ist - Ihr werdet euch wundern, dass da jeder Schritt sichtbar ist

Deswegen gabs beim NT4 Reskit mal ein Werkzeug, dessen namen ich mittlerweile vergessen habe - um die lnks von Ihrem Ursprung zu trennen.

Alternativ wäre ein VB Script damit könnte man direkt Verknüpfungen erstellen.
"Wie gut," dass das schon eine Stunde vorher da stand...

Gruß
RedEye
RedEye 05.07.2010 um 08:39:25 Uhr
Goto Top
Hallo,

vielen Dank für eure Meinungen, werde das am Abend ausprobieren und melden.

--
LG
RedEye
RedEye
RedEye 06.07.2010 um 16:34:10 Uhr
Goto Top
Hallo,

hab das Script von Terminatorthree angepasst, musste noch nach den richtigen Icons in der SHELL32.dll suchen, es war die Nummer 9 face-smile, und es funktioniert!

Jedoch habe ich mehrere Netzlaufwerke und möchte eher nicht für jede Verbindung ein eigenes Script haben.
Grund genug mich ein bisschen in VBS einzulesen und das Problem mit einer Schleife lösen.

Vielen Dank!

--
LG
RedEye
RedEye
RedEye 06.07.2010 um 20:59:11 Uhr
Goto Top
Muss jetzt noch mein Script posten, die Schleifen in VB sind bissl verzwickt für mich, hab jetzt so gelöst obwohl es sicher noch sauberer geht:

Die Batchdatei:
cls
@echo OFF

SET desktopPath="C:\Dokumente und Einstellungen\User\Desktop"  
SET vbsPath="C:\Dokumente und Einstellungen\User\Desktop\Link Mounts.vbs"  

net use F: \\Storage\Shared
if not exist %desktopPath%\"Shared auf Storage.lnk" cscript %vbsPath% "Shared auf Storage" F:\  
cls

net use G: \\Storage\Daten
if not exist %desktopPath%\"Daten auf Storage.lnk" cscript %vbsPath% "Daten auf Storage" G:\  
cls

net use H: \\Storage\WebRoot
if not exist %desktopPath%\"WebRoot auf Storage.lnk" cscript %vbsPath% "WebRoot auf Storage" H:\  
cls

net use I: \\Storage\Discotheka
if not exist %desktopPath%\"Discotheka auf Storage.lnk" cscript %vbsPath% "Discotheka auf Storage" I:\  
cls

net use J: \\Storage\Tera
if not exist %desktopPath%\"Tera auf Storage.lnk" cscript %vbsPath% "Tera auf Storage" J:\  
cls

net use U: \\Storage\User
if not exist %desktopPath%\"User auf Storage.lnk" cscript %vbsPath% "User auf Storage" U:\  

VB-Script:
Set Shell = CreateObject("WScript.Shell")  
Set Args = WScript.Arguments
DesktopPath = Shell.SpecialFolders("Desktop")  
Set link = Shell.CreateShortcut(DesktopPath & "\" & WScript.Arguments(0) & ".lnk")  
link.Arguments = ""  
link.Description = WScript.Arguments(0)
link.HotKey = "CTRL+ALT+SHIFT+X"  
link.IconLocation = "%SystemRoot%\system32\SHELL32.dll,9"  
link.TargetPath = WScript.Arguments(1)
link.WindowStyle = 2
link.WorkingDirectory = WScript.Arguments(1)
link.Save