Zum Hauptinhalt springen

Fake Edge App: Ein PowerShell-Skript zum Erstellen einer Web-App-Verknüpfung

·3 min

Fake Edge App: Ein PowerShell-Skript zum Erstellen einer Fake PWA App #

In der heutigen digitalen Welt kann der schnelle und einfache Zugriff auf bestimmte Websites unglaublich nützlich sein. Eine Möglichkeit, dies zu erreichen, ist die Erstellung einer Progressive Web App in Microsoft Edge. Allerdings funktioniert dies nicht für jede Seite, zum Beispiel für Microsoft Forms.

Und das Beste daran: Es kann als .intuneWin App installiert werden.

In diesem Blogbeitrag zeige ich dir ein PowerShell-Skript, das genau das tut: Es erstellt eine Desktop-Verknüpfung, die eine bestimmte Webseite in einem “Fake” Edge App-Fenster öffnet.

Überblick über das Skript #

Das Skript, das wir hier vorstellen, erstellt eine Desktop-Verknüpfung, die eine bestimmte URL in einem Edge-Fenster öffnet. Das Fenster ist so konfiguriert, dass es wie eine eigenständige Anwendung aussieht, was besonders nützlich für häufig genutzte Webanwendungen sein kann.

Skript-Details #

Hier ist der vollständige Code des Skripts:

<#
.Synopsis
   Erstellt eine "Fake" Edge App
.INPUTS
   Ändere $websiteURL, $shortcutPath, $logFile, $icoPath, $icoDestinationPath
.OUTPUTS
   $logFile Path Transcript
#>

# URL
$websiteURL = "google.de"

# Den Pfad zum öffentlichen Desktop-Ordner mit dem speziellen Ordnerbezeichner abrufen
$publicDesktopPath = [System.Environment]::GetFolderPath('CommonDesktopDirectory')

# Den Pfad zur Verknüpfung definieren
$shortcutPath = Join-Path -Path $publicDesktopPath -ChildPath 'NameOfLink.lnk'

# Alte Verknüpfung entfernen, falls vorhanden (für Link-Updates mit demselben Linknamen)
if (Test-Path -Path $shortcutPath) {
    Remove-Item -Path $shortcutPath -Force
    Write-Output "Alte Verknüpfung entfernt: $shortcutPath"
} else {
    Write-Output "Keine vorhandene Verknüpfung gefunden unter: $shortcutPath"
}

# Ein Icon mit der .ico-Erweiterung im selben Verzeichnis ablegen, in dem das Skript ausgeführt wird.
# Die Quell- und Zielpfade definieren
$icoPath = "NameOfLink.ico"
$icoDestinationPath = "$env:ProgramFiles\Samily\Icons\NameOfLink.ico"

# Das Zielverzeichnis erstellen, falls es nicht existiert
$destinationDir = [System.IO.Path]::GetDirectoryName($icoDestinationPath)
if (-not (Test-Path -Path $destinationDir)) {
    New-Item -ItemType Directory -Force -Path $destinationDir
}

# Die Datei zum Ziel kopieren
Copy-Item -Path $icoPath -Destination $icoDestinationPath -Force

# Überprüfen, ob die Datei kopiert wurde
if (Test-Path -Path $icoDestinationPath) {
    Write-Output "Datei erfolgreich nach $icoDestinationPath kopiert"
} else {
    Write-Output "Fehler beim Kopieren der Datei."
}

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$shortcutPath")
$Shortcut.TargetPath = "%SystemDrive%\Windows\System32\cmd.exe"
$Shortcut.Arguments =  "/C start `"`" /min `"%SystemDrive%\Program Files (x86)\Microsoft\Edge\Application\msedge.exe`" --app=$($websiteURL) --start-windowed"
$Shortcut.IconLocation = "$icoDestinationPath"
$Shortcut.Save()

How the Script Works #

Das Skript führt die folgenden Schritte aus:

  1. URL-Definition: Die URL der zu öffnenden Webseite wird in der Variable $websiteURL gespeichert.
  2. Desktop-Pfad: Der Pfad zum öffentlichen Desktop-Ordner wird abgerufen.
  3. Verknüpfungspfad: Der Pfad, an dem die Verknüpfung erstellt wird, wird definiert.
  4. Alte Verknüpfung entfernen: Wenn eine Verknüpfung mit demselben Namen bereits existiert, wird sie entfernt.
  5. Icon-Datei kopieren: Eine Icon-Datei wird in das Zielverzeichnis kopiert.
  6. Verknüpfung erstellen: Eine neue Verknüpfung wird erstellt, die die definierte URL in einem Edge-Fenster öffnet.

Customization Options #

Das Skript kann leicht angepasst werden, indem die folgenden Variablen geändert werden:

  • $websiteURL: Die URL der zu öffnenden Webseite.
  • $shortcutPath: Der Pfad, an dem die Verknüpfung erstellt wird.
  • $logFile: Der Pfad zur Protokolldatei.
  • $icoPath und $icoDestinationPath: Pfade zur Icon-Datei.