Robmantuto 1 Geschrieben 28. November 2016 Autor Melden Teilen Geschrieben 28. November 2016 (bearbeitet) 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 28. November 2016 von Robmantuto Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 28. November 2016 Melden Teilen Geschrieben 28. November 2016 Anstatt: $Shortcut.TargetPath = "%windir%\explorer.exe /e," Probier ma so: $Shortcut.TargetPath = '%windir%\explorer.exe' $Shortcut.Arguments = '/e,' Zitieren Link zu diesem Kommentar
Robmantuto 1 Geschrieben 29. November 2016 Autor Melden Teilen Geschrieben 29. November 2016 (bearbeitet) 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 29. November 2016 von Robmantuto Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 29. November 2016 Melden Teilen Geschrieben 29. November 2016 Hmmm ... und Du bekommst keine Fehlermeldung, wenn Du diesen Code ausführst? Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 29. November 2016 Melden Teilen Geschrieben 29. November 2016 Probier es so: $Shortcut = $WshShell.CreateShortcut("C:\Benutzer\" & $strName & "\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows-Explorer.lnk" Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 29. November 2016 Melden Teilen Geschrieben 29. November 2016 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 .... ;) Zitieren Link zu diesem Kommentar
Beste Lösung Robmantuto 1 Geschrieben 29. November 2016 Autor Beste Lösung Melden Teilen Geschrieben 29. November 2016 (bearbeitet) 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 29. November 2016 von Robmantuto Zitieren Link zu diesem Kommentar
Robmantuto 1 Geschrieben 30. November 2016 Autor Melden Teilen Geschrieben 30. November 2016 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. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 Für das Script ist der ausführende Admin der ANGEMELDETE User. Du wirst also deine Vorgehensweise überdenken müssen. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 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: Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 Probiere es mal damit ;) $LastLoggendOnUser = Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI -name LastLoggedOnUser Zitieren Link zu diesem Kommentar
Robmantuto 1 Geschrieben 2. Dezember 2016 Autor Melden Teilen Geschrieben 2. Dezember 2016 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. Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 2. Dezember 2016 Melden Teilen Geschrieben 2. Dezember 2016 (bearbeitet) ...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 2. Dezember 2016 von MurdocX Zitieren Link zu diesem Kommentar
Robmantuto 1 Geschrieben 2. Dezember 2016 Autor Melden Teilen Geschrieben 2. Dezember 2016 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? Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 2. Dezember 2016 Melden Teilen Geschrieben 2. Dezember 2016 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/ Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.