Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Verknüpfung in vbs erzeugen

Frage Entwicklung VB for Applications

Mitglied: Domain-Jane

Domain-Jane (Level 1) - Jetzt verbinden

31.01.2015, aktualisiert 18:25 Uhr, 796 Aufrufe, 9 Kommentare

Schönen guten Nabend!

Seit einer Weile versuche ich, mir mittels vbs eine Verknüpfung erzeugen zu lassen.
Dazu habe ich mir die Anleitungen von bastla durchgelesen.
Mein Problem ist allerdings, dass ich als Speicherort "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\shortcut.lnk" brauche
und als Ziel den Pfad, indem die vbs ausgeführt wird & \bum.exe (entspräche in Batch: %~dp0\bum.exe)

Bisher habe ich es so versucht:

01.
 
02.
Set oShell = CreateObject("Wscript.Shell") 
03.
strUserProfile = oShell.ExpandEnvironmentStrings("%USERPROFILE%") 
04.
 
05.
 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
ZielDingens = fso.GetParentFolderName(WScript.ScriptFullName) 
08.
 
09.
 
10.
Set objShell = CreateObject("WScript.Shell") 
11.
sShortcut = (strUserProfile & "\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\shortcut.lnk") 
12.
set objLink = objShell.CreateShortcut(sShortcut) 
13.
objLink.TargetPath = "ZielDingens" 
14.
objLink.Save 
15.
 
Die Verknüpfung wird mit dem richtigen Pfad erstellt, aber das Ziel stimmt nicht.
Er löst die Variable "ZielDingens" nicht auf und schreibt noch den Pfad zum Desktop davor.

Wäre echt super, wenn ihr ne spontane Idee hättet.
Mitglied: Domain-Jane
31.01.2015, aktualisiert um 18:24 Uhr
Im Moment der Frageerstellung noch einmal kurz nachgedacht und Zzzzong - Fehler gefunden.
So geht's:

01.
 
02.
Set oShell = CreateObject("Wscript.Shell") 
03.
 strUserProfile = oShell.ExpandEnvironmentStrings("%USERPROFILE%") 
04.
 
05.
 
06.
 Set fso = CreateObject("Scripting.FileSystemObject") 
07.
 ZielDingens = fso.GetParentFolderName(WScript.ScriptFullName) 
08.
 
09.
 
10.
 Set objShell = CreateObject("WScript.Shell") 
11.
 sShortcut = (strUserProfile & "\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\shortcut.lnk") 
12.
 set objLink = objShell.CreateShortcut(sShortcut) 
13.
 objLink.TargetPath = (ZielDingens & "\bum.exe") 
14.
 objLink.Save 
15.
 
(Ich habe nur Zeile 13 geändert)

Für Verbesserungsvorschläge bin ich immer offen.

Schönen Abend!
Bitte warten ..
Mitglied: Dani
31.01.2015 um 18:39 Uhr
Guten Abend,
Für Verbesserungsvorschläge bin ich immer offen.
Warum nicht einfach mit Powershell? Ist in 3-4 Zeilen erledigt.


Gruß,
Dani
Bitte warten ..
Mitglied: Domain-Jane
31.01.2015 um 19:06 Uhr
Hi Dani,
Naja, Powershell-Skripte brauchen doch immer Admin-Rechte oder nicht?
Das würde bei den Benutzern zu Problemen führen.
Bitte warten ..
Mitglied: Dani
31.01.2015 um 19:29 Uhr
Braucht genau die selben Rechte wie dein VBS.
Wie kommst du auf solch eine Aussage?
Bitte warten ..
Mitglied: 116301
31.01.2015 um 20:41 Uhr
Hallo Domain-Jane!

Für Verbesserungsvorschläge bin ich immer offen.
z.B.:
01.
sShortcut = objShell.SpecialFolders("StartUp") & "\shortcut.lnk"
Ansonsten reicht es auch, wenn das Shell-Object nur einmal zu erzeugt wird...

Grüße Dieter
Bitte warten ..
Mitglied: Domain-Jane
31.01.2015 um 20:42 Uhr
Zitat von Dani:

Braucht genau die selben Rechte wie dein VBS.
Wie kommst du auf solch eine Aussage?

Vermutlich durch Unwissenheit. ;)

Beim Ausführen von .ps1 Skripten kommt standardmäßig die Meldung, dass die Ausführung solcher
Skripte auf dem System deaktiviert ist.
Natürlich könnte man sich hier mit "Set-ExecutionPolicy Unrestricted" behelfen.
Allerdings setzt das wiederum Admin-Rechte voraus.
Bitte warten ..
Mitglied: Domain-Jane
31.01.2015 um 21:01 Uhr
Zitat von 116301:

z.B.:
01.
> sShortcut = objShell.SpecialFolders("StartUp") & "\shortcut.lnk" 

Ansonsten reicht es auch, wenn das Shell-Object nur einmal zu erzeugt wird...

Grüße Dieter

Hi Dieter,

puh, das ist natürlich sehr elegant und hätte mir ein paar schweißtreibende Sekündchen erspart!

Also hier noch einmal die aktuelle Version:
Wenn jetzt noch jemand kommt und dafür nen Einzeiler rauskloppt, werde ich aber ungemütlich! ;)

01.
 
02.
Set oShell = CreateObject("Wscript.Shell") 
03.
 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
ZielDingens = fso.GetParentFolderName(WScript.ScriptFullName) 
06.
 
07.
sShortcut = objShell.SpecialFolders("StartUp") & "\shortcut.lnk" 
08.
set objLink = oShell.CreateShortcut(sShortcut) 
09.
objLink.TargetPath = (ZielDingens & "\bum.exe") 
10.
objLink.Save 
11.
 
Bitte warten ..
Mitglied: Dani
31.01.2015 um 21:18 Uhr
Selbstverständlich, standardmäßig dürfen solche Skripte nicht ausgeführt werden.
Einmal aktiviert, kannst du loslegen.


Gruß,
Dani
Bitte warten ..
Mitglied: 116301
01.02.2015 um 08:16 Uhr
Hallo Domain-Jane!

Kann man so lassen, nur noch in Codezeile 7 'objShell' durch 'oShell' ersetzt, dann sollte es auch funktionieren

Grüße Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Verknüpfung aus CMD herraus erstellen (ohne VBS)
gelöst Frage von metal-shotBatch & Shell2 Kommentare

Hallo Ich versuche mich an einer batch zur Vorbereitung vieler PCs. Und zwar möchte ich diverse Portable Porgramme vom ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes
Frage von Sentinel87VB for Applications

Hallo zusammen, ich bin ein absoluter Anfänger im Bezug auf VBS und habe nun die Aufgabe ein Script zu ...

Windows Netzwerk
GPO Verknüpfung
gelöst Frage von ParaneusWindows Netzwerk13 Kommentare

Hallo Community Ich habe per GPO eine Richtlinie erstellt die auf einem bestimmten Client, unabhängig von den Benutzern, eine ...

PHP
Aus Arrays neue Arrays erzeugen!
gelöst Frage von FunkerVogtPHP8 Kommentare

Hallo Gemeinde, ich hoffe Ihr könnt mir bei meiner Problematik helfen und meinen kleinen gordischen Knoten im Kopf lösen. ...

Neue Wissensbeiträge
Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 3 StundenMicrosoft Office13 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Erkennung und -Abwehr

Sicherheitslücke Spectre und Meltdown: Status prüfen

Anleitung von Frank vor 8 StundenErkennung und -Abwehr2 Kommentare

Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown ...

Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office10 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell13 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...