nilsvlehn

URL-Verknüpfung auf Desktop erstellen per CMD-GPO-PowerShell?

Moinsen,

ich verwalte ein paar RDS-Farmen, und bin gerade dabei,
über WDS ein Terminal-Server Image zu erstellen.
Dabei bin ich an einem Schritt hängen geblieben.
Nämlich die Erstellung einer Verknüpfung mit eingebetteter URL und Icon-Bild.

Das hat zwar theoretisch per CLI funktioniert über:

copy logo.ico C:\Users\Public
@echo off
 set "URL=http://URL"  
 set "ShortcutName=URL"  
 set "IconPath=C:\Users\Public\logo.ico"  
 set "ShortcutPath=%Public%\Desktop\%ShortcutName%.url"  

 echo [InternetShortcut] > "%ShortcutPath%"  
 echo URL=%URL% >> "%ShortcutPath%"  
 echo IconFile=%IconPath% >> "%ShortcutPath%"  
 echo IconIndex=0 >> "%ShortcutPath%"  

Aber der Aufruf des erstellten Links führt zur Ausgabe:

"Das Ziel "" der Internetverknüfung ist ungültig. Öffnen Sie das Eigenschaftenfenster der Internetverknüpfung, und stellen Sie sicher, dass die Angabe des Ziels richtig ist."

Wenn ich das mache, dann sehe ich unter Details den Ziel-Link, aber mir fehlt die Sparte "Web-Dokument" wo der Link auch drin stehen sollte.

Jemand eine Idee, oder alternative, wie ich das besser umgesetzt bekomme??
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 672834

Url: https://administrator.de/forum/url-verknuepfung-auf-desktop-erstellen-per-cmd-gpo-powershell-672834.html

Ausgedruckt am: 12.05.2025 um 23:05 Uhr

CamelCase
CamelCase 12.05.2025 aktualisiert um 11:27:19 Uhr
Goto Top
Moin,

hier ein funktionierendes PowerShell-Beispiel aus unserer Umgebung (ohne Icon):

$redirectedDesktop = [Environment]::GetFolderPath('Desktop')  

# Desktop-Verknuepfung zu Citrix Store
$shortcutPath = "$redirectedDesktop\Citrix Store.url"  
$websiteURL = "https://ctx.domain"  
@"  
[InternetShortcut]
URL=$websiteURL
"@ | Set-Content -Encoding ASCII -Path $shortcutPath -Force  

Bei deinem Batch-Skript fehlt vermutlich das " hinter set "URL=http://URL - bin aber kein batch-Experte face-smile
kpunkt
kpunkt 12.05.2025 aktualisiert um 11:29:41 Uhr
Goto Top
Wie wärs wenn du Verknüpfungen per GPO verteilst?
Zielpfad den Browser und als Argument die URL
BiberMan
BiberMan 12.05.2025 aktualisiert um 11:46:16 Uhr
Goto Top
Zitat von @kpunkt:

Wie wärs wenn du Verknüpfungen per GPO verteilst?

Jepp, wieso einfach wenn es auch umständlich geht ...
Group Policy Desktop Shortcuts: The Complete Guide
metaljoe1988
Lösung metaljoe1988 12.05.2025 aktualisiert um 12:21:26 Uhr
Goto Top
Ich würds per GPO über ein Anmeldeskript via PowerShell verteilen.
Hier ein funktionierendes Beispiel von unserer Seite:

# Verzeichnis für Icons erstellen falls noch nicht vorhanden
$iconDir = "C:\install\icons"  
New-Item -ItemType Directory -Path $iconDir -Force

# Icon aus Netlogon in Verzeichnis verschieben
Copy-Item -Path "\\test.local\NETLOGON\test.ico" -Destination "$iconDir\test.ico" -Force  

# URL für desktop shortcut
$url = "https://test.com/"  

# Benutze environment variable für Desktop-Pfad
$userDesktopPath = [Environment]::GetFolderPath('Desktop')  
$linkName = "Test.url"  

# Erstelle Shortcut Pfad
$linkPath = Join-Path $userDesktopPath $linkName

# Erstelle Textdatei für URL shortcut
$WshShell = New-Object -ComObject WScript.Shell

# Erstelle URL shortcut Content manuell
$urlFileContent = @"  
[InternetShortcut]
URL=$url
IconFile=$iconDir\test.ico
IconIndex=0
"@  

# Schreibe Inhalt in URL File
Set-Content -Path $linkPath -Value $urlFileContent

Hat zumindest bei uns funktioniert. face-smile
NilsvLehn
NilsvLehn 12.05.2025 um 13:04:59 Uhr
Goto Top
Zitat von @metaljoe1988:

Ich würds per GPO über ein Anmeldeskript via PowerShell verteilen.
Hier ein funktionierendes Beispiel von unserer Seite:

# Verzeichnis für Icons erstellen falls noch nicht vorhanden
$iconDir = "C:\install\icons"  
New-Item -ItemType Directory -Path $iconDir -Force

# Icon aus Netlogon in Verzeichnis verschieben
Copy-Item -Path "\\test.local\NETLOGON\test.ico" -Destination "$iconDir\test.ico" -Force  

# URL für desktop shortcut
$url = "https://test.com/"  

# Benutze environment variable für Desktop-Pfad
$userDesktopPath = [Environment]::GetFolderPath('Desktop')  
$linkName = "Test.url"  

# Erstelle Shortcut Pfad
$linkPath = Join-Path $userDesktopPath $linkName

# Erstelle Textdatei für URL shortcut
$WshShell = New-Object -ComObject WScript.Shell

# Erstelle URL shortcut Content manuell
$urlFileContent = @"  
[InternetShortcut]
URL=$url
IconFile=$iconDir\test.ico
IconIndex=0
"@  

# Schreibe Inhalt in URL File
Set-Content -Path $linkPath -Value $urlFileContent

Hat zumindest bei uns funktioniert. face-smile

Diese Lösung funktioniert wunderbar.
Ich danke für euren Input
kpunkt
kpunkt 12.05.2025 um 13:43:45 Uhr
Goto Top
Nur für mich zum Verständnis.... (und ja, ich frage mich das jetzt wirklich)
Wieso verteilt man etwas per Script per GPO und nicht gleich direkt per GPO und übergeht somit den zusätzlichen Schritt eines Scripts?
Ich meine, so eine GPO ist ja mit vier oder fünf Klicks gebastelt, während man bei einem Script doch deutlich mehr zu machen hat. Plus so ein Script ist ja dann noch eine weitere mögliche Fehlerquelle.
aqui
aqui 12.05.2025 aktualisiert um 14:13:33 Uhr
Goto Top
Wieso verteilt man etwas per Script per GPO und nicht gleich direkt per GPO und übergeht somit den zusätzlichen Schritt eines Scripts?
Das passiert wenn man den o.a. Guide des Kollegen @BiberMan nicht liest.
Thema: Warum einfach machen wenn es umständlich auch geht... face-wink
shebang
shebang 12.05.2025 um 14:14:00 Uhr
Goto Top
Wieso verteilt man etwas per Script per GPO
Um in 5 Jahren hier einen Thread aufzumachen um zu fragen, warum ständig Verknüpfungen erstellt werden obwohl es keine GPO dazu gibt.