Jump to content

Verknüpungen mit Parametern an die Taskleiste anhängen


Direkt zur Lösung Gelöst von Robmantuto,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Habe es damit versucht:

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\Benutzer\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk")
$Shortcut.TargetPath = "%windir%\explorer.exe /e,"
$ShortCut.IconLocation = "%windir%\explorer.exe"
$Shortcut.Save()

Das Problem ist, dass er mir unter Ziel den Pfad mit " " einträgt, dann funktioniert die Verknüpfung nicht.

bearbeitet von Robmantuto
Link zu diesem Kommentar

Super, danke!

Habe da noch eine Frage zu dem Befehl:

$Shortcut = $WshShell.CreateShortcut("C:\Users\Benutzer\MeinUser\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk")

Ich würde gerne eine Variable für den "Benutzer" einsetzen. Es soll der angemeldete Benutzer ausgelesen und eingetragen werden.

 

Habe es mit:

$strName = $env:username
$Shortcut = $WshShell.CreateShortcut("C:\Benutzer\$strName\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk")

Funktioniert aber nicht. Da denke ich wahrscheinlich zu einfach.


Habe es:

$Shortcut = $WshShell.CreateShortcut("C:\Benutzer\$env:username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk")

Das habe ich weggelassen:

$strName = $env:username
bearbeitet von Robmantuto
Link zu diesem Kommentar

Habe es:

$Shortcut = $WshShell.CreateShortcut("C:\Benutzer\$env:username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk"

 

Hmmm ... ok, ich gehe mal davon aus, dass es nur ein Tippfehler hier im Forum ist, aber da fehlt die schließende Klammer. Vielleicht üben wir das mit dem Kopieren und Einfügen auch noch mal ....  ;)

Link zu diesem Kommentar
  • Beste Lösung

 

 

Hmmm ... ok, ich gehe mal davon aus, dass es nur ein Tippfehler hier im Forum ist, aber da fehlt die schließende Klammer. Vielleicht üben wir das mit dem Kopieren und Einfügen auch noch mal ....   ;)

Korrigiert :cool:

 

 

 

Probier es so:

$Shortcut = $WshShell.CreateShortcut("C:\Benutzer\" & $strName & "\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk"

 

Das hat leider nicht funktioniert, aber ich habe es nochmal getestet, das funktioniert auch, irgendetwas war vorher falsch:

$strName = $env:username
$Shortcut = $WshShell.CreateShortcut("C:\Benutzer\$strName\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk"

Die zweite Lösung wie schon oben erwähnt:

$Shortcut = $WshShell.CreateShortcut("C:\Benutzer\$env:username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk"
bearbeitet von Robmantuto
Link zu diesem Kommentar

Jetzt habe ich ein weiteres Problem und zwar starte ich das Script mit einem Adminkonto, dadurch, dass ich das tue, möchte er Verknüpfungen für das Adminkonto anlegen, das aber nicht funktioniert, da ich mit einem normalen Nutzer angemeldet bin. Ich gehe davon aus, dass daran liegt, dass ich 

env:username

auslese. Wie kann ich am besten den aktuellen ANGEMELDETEN User auslesen und ihn im Script einbauen, sodass Verknüpfungen beim angemeldeten User angelegt werden und nicht versucht wird, für den Admin Verknüpfungen anzulegen? Ich könnte natürlich den User vorübergehend zum Admin machen, aber ich würde das vermeiden wollen.

Link zu diesem Kommentar

Dafür gibt es einen Trick. Der ist aber ein bissl tricky. Der im Moment interaktiv an einem Windows-Client angemeldete Benutzer wird in der Registry im Zweig 'HKEY_USERS' angelegt. Dort hat er dann (und nur er) einen Schlüssel 'Volatile Environment'. In diesem Schlüssel findet sich dann auch wieder ein Zeichenfolgen-Wert mit dem Namen 'Username', den Du auslesen kannst.   ;)  :cool:  :thumb1:  

Link zu diesem Kommentar

So habe es getestet, leider nicht funktioniert es nicht so wie ich es mir gedacht habe. Mein LogonUI heisst .\Benutzer und wenn ich es als Variable einsetze, dann versucht er einen Link mit diesem Pfad C:\Users\.\Benutzer\... zu erstellen und das klappt nicht. Kann man irgendwie die ersten zwei Zeichen per Script weglassen?

 

Klar! Dazu muss nur der Inhalt der Variable bearbeitet werden. Probiere es mal mit "Substring".

https://technet.microsoft.com/en-us/library/ee692804.aspx

http://blog.stefanrehwald.de/2013/03/03/powershell-03-2-strings-bearbeiten-und-untersuchen-mit-funktionen-wie-trim-substring-contains-tolower-toupper-startswith-endswith/

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...