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

Verknüpfung auf Programm im Homeverzeichnis per Skript bei Login

Mitglied: rowdy146

rowdy146 (Level 1) - Jetzt verbinden

18.03.2008, aktualisiert 18.10.2012, 3557 Aufrufe, 12 Kommentare

Hi Leute,

habe mal "das" (bekannte) Skript von bastla aufgegriffen

Const strProgramtitel = "Anwendung"
Const strProgram = "%USERPROFILE\anwendung\anwendung.exe"
Const strWPath = "%USERPROFILE%\anwendung" 'Arbeitsverzeichnis
Dim objShortcut
Dim objShell
Set objShell = WScript.CreateObject("Wscript.Shell")
strLPfad = objShell.SpecialFolders("Desktop")
Set objShortcut = objShell.CreateShortcut(strLPfad & "\" & strProgramtitel & ".lnk")
objShortcut.TargetPath = strProgram
objShortcut.Description = strProgramtitel
objShortcut.Arguments = strArg
objShortcut.WorkingDirectory = strWPath
objShortcut.Save

...und soweit auch an meinen Bedarf angepasst.
Die Schwierigkeit besteht darin, dass ich mit dem Skript für jeden User eine Verknüpfung auf die Anwendung setzen muss, die jeweils im Profilverzeichnis liegt.
Fragt bitte nicht warum, ist ne alte 16 Bit Anwendung und ich bekomme die Temp Dateien nicht ausgelagert, also kopiere ich es in jedes Profilverzeichnis.

Allerdings erhält die Verknüpfung dann auch genau die o.a. Pfade mit den Variablen für "Ausführen in" und "Arbeitsverzeichnis".
Kann man das korrigieren sodass dort hinterher auch der richtige Pfad mit Benutzernamen steht?

Kann man darüberhinaus auch noch ein Icon mit angeben? Hatte das schon versucht zu basteln, bin nicht sehr fit mit VB

Besten Dank für Eure Tips und viele Grüße

Oliver
Mitglied: bastla
18.03.2008, aktualisiert 18.10.2012
Hallo rowdy146!

Eigentlich könntest Du Dir den Einsatz des Scripts sparen - erstelle einfach von Hand eine Verknüpfung für einen User, wobei Du die Pfade, wie bereits vorgesehen, mit "%USERPROFILE%" angibst und auch ein Icon dafür anlegst, und kopiere die entstehende Datei (Dateityp ist ".LNK") für jeden User.

Ansonsten gibt's eine ausführlichere Alternativvariante zu "dem" Script nochmals hier mit allen möglichen Einstellungen (also auch Icon-Zuordnung).

Grüße
bastla
Bitte warten ..
Mitglied: rowdy146
18.03.2008 um 19:30 Uhr
Hallo bastla,

danke für den Tip.
Hatte ich so auch schon probiert (bin ich mir jedenfalls sicher)
Und das hats leider nicht getan.

Wenns einfacher als mit einem Script läuft bin ich gern für sowas zu haben.
Werde mich da morgen noch mal ransetzen...

MfG
Bitte warten ..
Mitglied: rowdy146
19.03.2008 um 08:11 Uhr
So, ich nochmal...

Habe grade versucht, die Verknüpfung mit der Variable Username (auch Userprofile) zu füllen, das wird auch soweit akzeptiert.
Jedoch startet die Anwendung nicht.
Die Ereignisanzeige gibt nichts dazu aus und die DOS-BOX in der das Programm läuft schließt sich sofort wieder.


Hoffe, du hast noch ne Idee für uns.
Thx
Oliver
Bitte warten ..
Mitglied: bastla
19.03.2008 um 10:12 Uhr
Hallo rowdy146!

Zunächst muss ich mich gleich einmal korrigieren: Bei einer 16Bit-Anwendung wird als Verknüpfung nicht eine ".LNK", sondern eine ".PIF"-Datei erstellt.

In den Eigenschaften dieser Verknüpfung kannst Du (zum Testen) im Register "Programm" den Haken bei "Nach Beenden schließen" entfernen - so siehst Du zumindest den Inhalt des CMD-Fensters.
Wie wurde das Programm eigentlich bisher gestartet, gab es schon jemals eine funktionierende Verknüpfung? Falls der Start über eine Batch-Datei im Programmordner vorzunehmen wäre, könnte man/frau auch dort ansetzen bzw auch einen eigenen Batch dafür verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: rowdy146
19.03.2008 um 10:35 Uhr
Hallo Bastla,

habe eben noch mal probiert...
Ich verknüpfe auf eine Batch Datei, die eine 16Bit Anwendung (in einer Dos-Box) startet.
Wenn ich auf die Batch per Rechtsklick in Windows eine Verknüpfung erstellen lasse, erhalte ich eine .LNK Datei.(So wird sie jedenfalls im Command Fenster angezeigt.
Den Reiter Programm erhalte ich leider nicht.

Das Programm war bisher problemlos lauffähig, nur mit günstigeren Vorraussetzung, dass es jeweils lokal auf dem Client lag.
Ich möchte es nun per Terminalserver verteilen, habe dabei aber das oben erwähnte Problem, dass ich es dafür jedem User exklusiv zur Verfügung stellen muss, da es nicht im Multiuser Modus läuft.

Hoffe, da ist etwas dabei wo man ansetzen kann.

Gruß
Oliver
Bitte warten ..
Mitglied: bastla
19.03.2008 um 10:44 Uhr
Hallo rowdy 146!

Poste doch mal den Inhalt der Batch-Datei (diese wird übrigens nicht als 16Bit-Anwendung betrachtet, sodass die oben beschriebene Möglichkeit nur für die direkte Verknüpfung auf die ".exe" relevant wäre) und verwende dafür bitte <code>-Tags.

Grüße
bastla
Bitte warten ..
Mitglied: rowdy146
19.03.2008 um 11:09 Uhr
ich glaube nicht, dass dir der Batch Inhalt helfen wird.
ist das so mit den Code-Tags richtig?

01.
@ECHO OFF 
02.
CLS 
03.
call land 049 
04.
:START 
05.
call cobset 
06.
xm +jr +r2 /p6 WEGOS000 
07.
IF EXIST SCHLUSS.DAT GOTO SCHLUSS 
08.
IF EXIST DIBO.DAT GOTO DIBO 
09.
IF EXIST OPTION.DAT GOTO OPTION 
10.
IF EXIST REB.DAT GOTO REB 
11.
IF EXIST STREAMER.DAT GOTO STREAMER 
12.
IF EXIST drucker.DAT GOTO drucker 
13.
IF EXIST FINANZ.DAT GOTO FINANZ 
14.
IF EXIST TAGESAB.DAT GOTO TAGESAB 
15.
IF EXIST UEBERG.DAT GOTO UEBERG 
16.
GOTO ENDUSE 
17.
:drucker 
18.
if EXIST drucker.SIK GOTO ENDE 
19.
REN drucker.DAT drucker.SIK 
20.
demo drucker 
21.
DEL drucker.sik 
22.
GOTO ENDE 
23.
:STREAMER 
24.
IF EXIST STREAMER.SIK GOTO ENDE 
25.
REN STREAMER.DAT STREAMER.SIK 
26.
CALL BAND 
27.
DEL STREAMER.SIK 
28.
GOTO ENDE 
29.
:REB 
30.
IF EXIST REB.SIK GOTO ENDE 
31.
REN REB.DAT REB.SIK 
32.
CALL REB.BAT 
33.
DEL REB.SIK 
34.
GOTO ENDE 
35.
:DIBO 
36.
IF EXIST DIBO.SIK GOTO ENDE 
37.
REN DIBO.DAT DIBO.SIK 
38.
DEMO DIBO 
39.
DEL DIBO.SIK 
40.
GOTO ENDE 
41.
:OPTION 
42.
IF EXIST OPTION.SIK GOTO ENDE 
43.
REN OPTION.DAT OPTION.SIK 
44.
DEMO OPTION 
45.
DEL OPTION.SIK 
46.
GOTO ENDE 
47.
:FINANZ 
48.
IF EXIST FINANZ.SIK DEL FINANZ.DAT 
49.
IF NOT EXIST FINANZ.DAT GOTO ENDE 
50.
REN FINANZ.DAT FINANZ.SIK 
51.
CD FIBU 
52.
CALL FP-START 
53.
GOTO ENDE 
54.
:TAGESAB 
55.
IF EXIST TAGESAB.SIK DEL TAGESAB.DAT 
56.
IF NOT EXIST TAGESAB.DAT GOTO ENDE 
57.
REN TAGESAB.DAT TAGESAB.SIK 
58.
CALL KASSE.BAT 
59.
DEL TAGESAB.SIK 
60.
GOTO ENDE 
61.
:UEBERG 
62.
IF EXIST UEBERG.SIK DEL UEBERG.DAT 
63.
IF NOT EXIST UEBERG.DAT GOTO ENDE 
64.
REN UEBERG.DAT UEBERG.SIK 
65.
CALL UEBERN.BAT 
66.
DEL UEBERG.SIK 
67.
GOTO ENDE 
68.
:SCHLUSS 
69.
DEL SCHLUSS.DAT 
70.
GOTO ENDUSE 
71.
:ENDE 
72.
goto START 
73.
:ENDUSE 
74.
ECHO OFF 
75.
CLS 
76.
:ENDTOT
Bitte warten ..
Mitglied: bastla
19.03.2008 um 13:46 Uhr
Hallo rowdy146!

ist das so mit den Code-Tags richtig?
Fast - der "/" am Ende müsste unmittelbar vor "code" platziert werden.
Versuch einmal folgendes: Füge in der Batchdatei nach dem "@ECHO OFF" am Anfang folgende Zeile ein:
01.
CD /D "%~dp0"
Um ev Fehlermeldungen nachvollziehen zu können, wäre noch das "CLS" in der vorletzten Zeile durch "PAUSE" zu ersetzen - dadurch wird das CMD-Fenster erst nach Drücken einer Taste geschlossen (kannst Du natürlich später wieder entfernen).

Grüße
bastla
Bitte warten ..
Mitglied: rowdy146
19.03.2008 um 13:55 Uhr
was bewirkt der befehl

cd /d usw ??
Bitte warten ..
Mitglied: bastla
19.03.2008 um 14:13 Uhr
Hallo rowdy146!

Ein
01.
cd /?
könnte Dir schon einmal eine erste Antwort geben ...

Mit der angegebenen Zeile stelle ich sicher, dass beim Starten der Batchdatei in das Verzeichnis, in dem sich die Batchdatei selbst befindet, gewechselt wird, da alle Programmaufrufe ohne Pfade angegeben sind und sich daher auf das gleiche Verzeichnis beziehen müssen.

Die Details zum "%~dp0" findest Du übrigens am Ende der Hilfe zu "for", wobei noch anzumerken wäre, dass "%0" für die Batchdatei selbst steht.

Grüße
bastla
Bitte warten ..
Mitglied: rowdy146
19.03.2008 um 15:02 Uhr
Hallo Bastla,

ahem, ja "CD" halt - habs gecheckt...

Das Programm steigt wg. irgendwas anderem aus, scheint ein internes Problem zu sein, oder es kommt mit der Variable %USERNAME% in den Pfaden nicht klar.

Sobald ich die einbaue klappts nicht mehr.
Hab nun eben schon n anderen Verzeichnisbaum angelegt, um von dem langen "C:\Dokumente und..." wegzukommen (Stichwort 8.3)
Das bringt leider auch nichts.

Habe mir das andere gelinkte Skript von dir nochmal gegriffen und angepasst.
Funkt auch alles toll, aber warum ersetzt es beim Anlegen der Verknüpfung die Variable nicht mit dem dahinterliegenden Wert?
Schätze wenn das der Fall ist, läuft die Sache auch durch.

Haste noch ne Idee?
Bitte warten ..
Mitglied: bastla
19.03.2008 um 15:58 Uhr
Hallo rowdy146!

... das andere gelinkte Skript von dir ...
Nur der Ordnung halber: Weder das eine noch das andere ist von mir (das zweite habe ich noch nicht einmal gepostet) - aber schön, dass Du mir's zutrauen würdest ...

Funkt auch alles toll, aber warum ersetzt es beim Anlegen der Verknüpfung die Variable nicht mit dem dahinterliegenden Wert?
Weil es so gewünscht war (und flexibler / sinnvoller ist).

Schätze wenn das der Fall ist, läuft die Sache auch durch.
Da habe ich so meine leisen Zweifel, da die Variable im Pfad eigentlich keine Rolle spielen dürfte - wenn die Batchdatei gestartet wird, wechselt diese ja ohnehin in das konkrete Verzeichnis. Schon eher ein Thema wäre es, tatsächlich nur kurze Namen im Pfad zu verwenden.

Anyhow: Mit VBS kannst Du den Pfad zum Benutzerprofil bzw dann den Programmpfad (zur Batchdatei) so bekommen:
01.
strUserProfilePath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%USERPROFILE%") 
02.
strProgram = strUserProfilePath & "\Anwendung\Start.bat"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
HTML

Automatisches Login-Skript für Webseite

Frage von JagoZhHTML4 Kommentare

Hallo zusammen, ich weiss, das Thema wurde schon öfter diskutiert, dennoch gelingt es mir nicht, mich via eigenem html-Code ...

Windows 7

Programm - Verknüpfungen auf dem Desktop, Taskleiste, Startmenü per Skript auslesen? - Win7

gelöst Frage von xxxViperxxxWindows 75 Kommentare

Guten Tag, ich bin neu hier und noch in der Lehre zum Fachinformatiker. Ich wollte fragen, ob es möglich ...

Batch & Shell

Skript VOR Login ausführen Windows 7,8,2012R2

Frage von KangaroojackBatch & Shell1 Kommentar

Hallo Leute, weiß nicht genau, wo das Thema besser aufgehoben ist, in der Server- oder hier in der Skripting ...

Windows Netzwerk

Netzwerkdrucker nach Printservertausch im Login Skript ändern.

gelöst Frage von steveauskielWindows Netzwerk7 Kommentare

Hallo, ich musste einen neuen Printserver ins Netz stellen. Nun suche ich nach einer guten Möglichkeit die vorhandenen Netzwerkdrucker ...

Neue Wissensbeiträge
iOS
Updates für Iphone und Co
Information von sabines vor 9 MinuteniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...