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, 3599 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 Userverwaltung

Homeverzeichnis per script

Frage von OSelbeckWindows Userverwaltung13 Kommentare

Hi ho, meine Batch Zeiten sind schon länger her … Mhm … ;-) Also, ich habe auf einen Server ...

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 Userverwaltung

Diskpart skript beim domain login ausführen

gelöst Frage von NetzwerkDudeWindows Userverwaltung2 Kommentare

Moin, ich würde gerne per logon script bei den domain userrrechnern einen Laufwerksbuchstaben löschen (Problem ist das der Speicherkaertenleser ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 1 TagDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 1 TagSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 2 TagenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 3 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
Router & Routing
Lancom-VPN-Client
Frage von FM28880Router & Routing15 Kommentare

Hallo zusammen, ich habe heute zwei Rechner mit einem Lancom VPN-Client eingerichtet. Die VPN-Verbindung wird aufgebaut und steht. Jedoch ...

Microsoft Office
Sharepoint 2016 mag keine Umlaute in .docx-Titeln
gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Nutzt hier jemand Sharepoint? Könnt Ihr, unabhängig von der Sharepointversion, bitte einen Test machen? Ladet ein .docx ...

Basic
VBS soll alle Ordner auswählen, die im Startmenu angezeigt werden
Frage von Senseless-CreatureBasic12 Kommentare

Guten Morgen - gibt es eine Möglichkeit, per VBS das Startmenu in Win10 zu modifizieren? Ich beherrsche VBS mittlerweile ...

Hyper-V
Hyper-V Manager startet, jedoch keine VM
Frage von NaleorHyper-V11 Kommentare

Hallo zusammen, auf meinem Windows 10 (Build 1703) Notebook von der Arbeit scheint Hyper-V plötzliche nicht mehr zu funktionieren. ...