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-ID: 653061

Url: https://administrator.de/forum/mit-powershell-eigener-icon-auf-weblink-verknuepfung-653061.html

Ausgedruckt am: 22.12.2024 um 03:12 Uhr

147669
147669 17.02.2021 aktualisiert um 14:46:45 Uhr
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.
MrCount
MrCount 17.02.2021 aktualisiert um 14:43:16 Uhr
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
Ralus67
Ralus67 17.02.2021 um 14:59:05 Uhr
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
MrCount
MrCount 17.02.2021 um 15:08:10 Uhr
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 ...
Ralus67
Ralus67 17.02.2021 um 16:14:28 Uhr
Goto Top
Hast du eine Idee wie man das lösen könnte?
147669
Lösung 147669 17.02.2021 aktualisiert um 16:19:44 Uhr
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 ...
147669
147669 17.02.2021 aktualisiert um 16:54:38 Uhr
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"  
Ralus67
Ralus67 19.02.2021 um 17:01:01 Uhr
Goto Top
Danke für den Hinweis. War wohl schon spät äls ich es definiert habe ;-S