Zum Inhalt wechseln


Foto

Verknüpungen mit Parametern an die Taskleiste anhängen


  • Bitte melde dich an um zu Antworten
37 Antworten in diesem Thema

#16 Robmantuto

Robmantuto

    Newbie

  • 57 Beiträge

 

Geschrieben 28. November 2016 - 15:58

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, 28. November 2016 - 15:58.


#17 BOfH_666

BOfH_666

    Junior Member

  • 88 Beiträge

 

Geschrieben 28. November 2016 - 16:19

Anstatt:

$Shortcut.TargetPath = "%windir%\explorer.exe /e,"

Probier ma so:

$Shortcut.TargetPath = '%windir%\explorer.exe'
$Shortcut.Arguments = '/e,'


live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''

#18 Robmantuto

Robmantuto

    Newbie

  • 57 Beiträge

 

Geschrieben 29. November 2016 - 09:12

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, 29. November 2016 - 10:30.


#19 BOfH_666

BOfH_666

    Junior Member

  • 88 Beiträge

 

Geschrieben 29. November 2016 - 09:14

Hmmm ... und Du bekommst keine Fehlermeldung, wenn Du diesen Code ausführst?


live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''

#20 Sunny61

Sunny61

    Expert Member

  • 21.739 Beiträge

 

Geschrieben 29. November 2016 - 09:55

Probier es so:

 

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

Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#21 BOfH_666

BOfH_666

    Junior Member

  • 88 Beiträge

 

Geschrieben 29. November 2016 - 10:09

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 ....  ;)


live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''

#22 Robmantuto

Robmantuto

    Newbie

  • 57 Beiträge

 

Geschrieben 29. November 2016 - 10:43   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, 29. November 2016 - 10:48.


#23 Robmantuto

Robmantuto

    Newbie

  • 57 Beiträge

 

Geschrieben 30. November 2016 - 10:40

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.



#24 Sunny61

Sunny61

    Expert Member

  • 21.739 Beiträge

 

Geschrieben 30. November 2016 - 10:46

Für das Script ist der ausführende Admin der ANGEMELDETE User. Du wirst also deine Vorgehensweise überdenken müssen.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#25 BOfH_666

BOfH_666

    Junior Member

  • 88 Beiträge

 

Geschrieben 30. November 2016 - 11:42

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:  


live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''

#26 MurdocX

MurdocX

    Member

  • 302 Beiträge

 

Geschrieben 30. November 2016 - 16:08

Probiere es mal damit  ;)

$LastLoggendOnUser = Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI -name LastLoggedOnUser

Mit freundlicher Unterstützung
Jan


#27 Robmantuto

Robmantuto

    Newbie

  • 57 Beiträge

 

Geschrieben 02. Dezember 2016 - 06:50

Danke, eine Super-Lösung, werde es mal testen und hier berichten, habe mir erstmal damit geholfen, den User vorübergehend zum Admin zu machen, das hilft dann auch.



#28 MurdocX

MurdocX

    Member

  • 302 Beiträge

 

Geschrieben 02. Dezember 2016 - 09:55

...habe mir erstmal damit geholfen, den User vorübergehend zum Admin zu machen, das hilft dann auch.

 

So lange das nicht zur Regel wird  ;)


Bearbeitet von MurdocX, 02. Dezember 2016 - 09:55.

Mit freundlicher Unterstützung
Jan


#29 Robmantuto

Robmantuto

    Newbie

  • 57 Beiträge

 

Geschrieben 02. Dezember 2016 - 13:04

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?



#30 MurdocX

MurdocX

    Member

  • 302 Beiträge

 

Geschrieben 02. Dezember 2016 - 13:14

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.micr...y/ee692804.aspx

http://blog.stefanre...swith-endswith/


Mit freundlicher Unterstützung
Jan