ralus67
Goto Top

Mit Powershell eigener Icon auf Weblink Verknüpfung

Hallo Community

Ich habe eine Herausforderung....

Mit Powershell habe ich eine Verknüpfung auf einen Weblink erstellt. Nun wenn ich diesen Link anklicke sehe ich, dass der Standard Edge Icon dargestellt wird.

Ich möchte für den Weblink einen eigenen Icon anzeigen lassen. Wie löse ich das?

Hier einen Auszug aus dem Powershell Skript


#$DestPath = "$env :USERPROFILE\$env: AppData\Roaming\Microsoft\Windows\Start Menu\Programme"
$SourcePath = "https://CADPlanarchiv/default.aspx"
$IconLocation = "$SourcePath\image.ico"
$IconIndex = "0"
$Link = "CADPlanarchiv.url"

$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$DestPath\$Link")
$Shortcut.TargetPath = "https://CADPlanarchiv/default.aspx"
#$Shortcut.IconLocation = "$IconLocation, IconIndex"
$Shortcut.Save()


Die Variable $IconLocation ist falsch, da bei einem Weblink kein Verzeichnis angegeben werden kann. Wie kann ich dennoch ein benutzerspezifisches Icon definieren?

Content-Key: 653061

Url: https://administrator.de/contentid/653061

Printed on: April 25, 2024 at 14:04 o'clock

Mitglied: 147669
147669 Feb 17, 2021 updated at 13:46:45 (UTC)
Goto Top
Speichere dir das Icon als Datei irgendwo auf der Platte und gib den lokalen Pfad dazu an,
$shortcut.IconLocation = "C:\lokalerpfad\datei.ico"  
oder nutze eines der integrierten Icons in den Windows DLLs mit Index-Angabe ...
$shortcut.IconLocation = "%SystemRoot%\system32\SHELL32.dll,13"  

Oder erstelle stattdessen gleich richtige *.url Files anstatt *.lnk Dateien ...

Beispiel:
[DEFAULT]
BASEURL=https://administrator.de
[InternetShortcut]
URL=https://administrator.de
Das als Datei mit der Endung *.url speichern, schon zieht sich das File das Icon von selbst... Icon Angabe überflüssig.
Member: MrCount
MrCount Feb 17, 2021 updated at 13:43:16 (UTC)
Goto Top
Servus,

manueller Weg:

- Rechtsklick auf die Verknüpfung
- "Eigenschaften" klicken
- Tab "Webdokument" (oder ggf. "Verknüpfung") auswählen
- "Anderes Symbol" anklicken
--> Symbol aussuchen

Powershell: siehe Beitrag von SchmitzKatz
Member: Ralus67
Ralus67 Feb 17, 2021 at 13:59:05 (UTC)
Goto Top
Hallo SchmitzKatz

Leider funktioniert das nicht.

Ich habe in der Zwischenzeit bei der Variable $IconLocation den Pfad auf C:\Temp\CAD Planarchiv SS4" geändert
$IconLocation = "C:\Temp\CAD Planarchiv SS4\image.ico"


Ich erhalte folgende Fehlermeldung:

Ausnahme beim Festlegen von "IconLocation": "Die Eigenschaft "IconLocation" wurde für dieses Objekt nicht gefunden. Vergewissern Sie sich, dass die Eigenschaft vorhanden ist und
festgelegt werden kann."
In C:\Temp\CAD Planarchiv SS4\CADPlanarchiv_Install.ps1:92 Zeichen:1

back-to-top$Shortcut.IconLocation = "$IconLocation, IconIndex"

back-to-top~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : NotSpecified: (face-smile , SetValueInvocationException
+ FullyQualifiedErrorId : ExceptionWhenSetting
Member: MrCount
MrCount Feb 17, 2021 at 14:08:10 (UTC)
Goto Top
Für .url gibt es die Eigenschaft nicht, nur für .lnk

https://powershell.org/forums/topic/help-add-custom-icon-file-to-interne ...
Member: Ralus67
Ralus67 Feb 17, 2021 at 15:14:28 (UTC)
Goto Top
Hast du eine Idee wie man das lösen könnte?
Mitglied: 147669
Solution 147669 Feb 17, 2021 updated at 15:19:44 (UTC)
Goto Top
Offensichtlich hast du mich wohl vollkommen falsch verstanden ... *.url Links legt man anders an! Das sind einfach Textdateien mehr nich... Und das Icon ziehen die sich von selbst via Favicon der Webseite.
$url = 'https://administrator.de'  
$path = 'C:\Pfad\test.url'  

@"  
[DEFAULT]
BASEURL=$url
[InternetShortcut]
URL=$url
"@ | sc $path  
Leider funktioniert das nicht.
Lüppt wie erwartet einwandfrei ! Von wegen tudet nich face-big-smile ... bei dir is da wohl Dreck im Getriebe ...
Mitglied: 147669
147669 Feb 17, 2021 updated at 15:54:38 (UTC)
Goto Top
$DestPath = "$env :USERPROFILE\$env: AppData\Roaming\Microsoft\Windows\Start Menu\Programme"
By the way, der Pfad von dir ist auch vollkommen missglückt. $env:AppData enthält schon den Teil Userpofile-Teil inklusive "Roaming", wenn dann reicht das so
$DestPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programme"  
Member: Ralus67
Ralus67 Feb 19, 2021 at 16:01:01 (UTC)
Goto Top
Danke für den Hinweis. War wohl schon spät äls ich es definiert habe ;-S