RDP - IntuneWin Pakke

Denne pakke installerer og signerer RDP-genveje på skrivebordet via et selvsigneret certifikat, så brugerne ikke får en sikkerhedsadvarsel ved åbning. Som standard arbejder alle scripts mod det offentlige skrivebord (C:\Users\Public\Desktop). Brug -AllUsers switchen for at køre mod alle brugeres individuelle skriveborde i stedet.


Indhold


Pakkens indhold

Fil Formål
Install.ps1 Kopierer RDP-filer til skrivebord(e), opretter selvsigneret certifikat og signerer alle RDP-filer. Understøtter -AllUsers switch.
Detect.ps1 Tjekker at specifikke forventede .rdp-filer (defineret i $expectedFiles array) eksisterer på skrivebord(e). Understøtter -AllUsers switch.
Uninstall.ps1 Fjerner RDP-filer fra skrivebord(e). Understøtter -AllUsers switch.
SignOnly.ps1 Signerer eksisterende RDP-filer på skrivebord(e) — ingen filkopiering. Understøtter -AllUsers switch.
SignOnly_detect.ps1 Registrerer om certifikat er til stede og alle RDP-filer på skrivebord(e) er signerede. Understøtter -AllUsers switch.
Clearsigning.ps1 Fjerner signaturer fra RDP-filer og rydder op i certifikat og registry (til oprydning/debug). Understøtter -AllUsers switch.
sandbox.ps1 Kombineret install + detect script til lokal sandkasse-test. Understøtter -AllUsers switch.
rdp-files\*.rdp Kilde-RDP-filer der installeres på skrivebord(e)

↑ Tilbage til toppen


Sådan opsætter du Detect.ps1

Før du uploader Detect.ps1 til Intune som registreringsregel, skal du åbne filen og udfylde $expectedFiles array med de .rdp filnavne der ligger i .\\rdp-files\\:

$expectedFiles = @(
    "Server1.rdp",
    "Server2.rdp",
    "DesktopApp.rdp"
)

Når scriptet kører: - Uden -AllUsers: tjekker at alle filer i $expectedFiles findes på det offentlige skrivebord (C:\Users\Public\Desktop) - Med -AllUsers: tjekker alle filer i $expectedFiles på tværs af alle brugeres skriveborde - Returnerer exit 0 = installeret (alle filer fundet) - Returnerer exit 1 = ikke installeret (en eller flere filer mangler)

Vigtigt: Husk at opdatere $expectedFiles hver gang du tilføjer eller fjerner .rdp filer i pakken, ellers vil detekteringen være forkert.


Intune App Konfiguration

Program

Registreringsregel

Brug et brugerdefineret registreringsscript: - Scriptfil: Detect.ps1 - Kør script som 32-bit proces på 64-bit klienter: Nej - Gennemtving scriptsignaturkontrol: Nej

Registreringslogik: - Uden -AllUsers: tjekker at alle .rdp-filer er til stede på det offentlige skrivebord (C:\Users\Public\Desktop) - Med -AllUsers: tjekker alle brugeres skriveborde under C:\Users\ - Returnerer exit 0 = installeret - Returnerer exit 1 = ikke installeret

↑ Tilbage til toppen


Hvad Install.ps1 gør

  1. Finder målskrivebord(e) — offentligt skrivebord som standard, alle brugeres skriveborde med -AllUsers. Med -AllUsers søges 2 mapper ned så OneDrive-omdirigeret Desktop også fanges
  2. Kopierer alle .rdp-filer fra .\rdp-files\ til de fundne skrivebord(e)
  3. Søger efter eksisterende selvsigneret certifikat (CN=RDPSign) i Cert:\LocalMachine\My
  4. Opretter et nyt selvsigneret kodesigneringscertifikat hvis intet findes (gyldigt i 25 år, ikke-eksporterbart)
  5. Tilføjer certifikatet til Trusted Root og Trusted Publishers i den lokale maskines certifikatstore
  6. Tilføjer certifikatets thumbprint til registry-nøglen TrustedCertThumbprints
  7. Signerer alle .rdp-filer på skrivebord(e) med rdpsign.exe /sha256
  8. Sætter RedirectionWarningDialogVersion = 1 i registry for at undertrykke RDP-advarselsdialoger

↑ Tilbage til toppen


AllUsers Switch

Alle scripts understøtter -AllUsers switchen. Som standard — uden -AllUsers — køres alle scripts kun mod det offentlige skrivebord (C:\Users\Public\Desktop). Når -AllUsers angives, søger scriptet i stedet på tværs af alle brugerprofiler under C:\Users\ (ekskl. Public/Default). Der søges 2 mapper ned (-Depth 2) for at fange både standard Desktop og OneDrive-omdirigeret Desktop.

# Kun offentligt skrivebord (standard)
.\Install.ps1

# Alle brugeres skriveborde
.\Install.ps1 -AllUsers

↑ Tilbage til toppen


Registry-ændringer

Sti Værdi Type Data
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services TrustedCertThumbprints String Certifikatets thumbprint
HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\Client RedirectionWarningDialogVersion DWORD 1

↑ Tilbage til toppen


Logning og fejlfinding

Script Logfil
Install.ps1 C:\Intune\DesktopShortcuts.log
Detect.ps1 C:\Intune\DesktopShortcuts.log
Uninstall.ps1 C:\Intune\DesktopShortcuts.log
SignOnly.ps1 C:\Intune\RDPSign.log

↑ Tilbage til toppen


SignOnly Intune App Konfiguration

Program

Registreringsregel

Brug et brugerdefineret registreringsscript: - Scriptfil: SignOnly_detect.ps1 - Kør script som 32-bit proces på 64-bit klienter: Nej - Gennemtving scriptsignaturkontrol: Nej

Registreringslogik: - Tjekker at CN=RDPSign-certifikatet findes i My, Root og TrustedPublisher stores - Tjekker at thumbprint er til stede i registry - Uden -AllUsers: tjekker at alle .rdp-filer på det offentlige skrivebord er signerede - Med -AllUsers: tjekker alle .rdp-filer på tværs af alle brugeres skriveborde - Returnerer exit 0 + "Detected" = installeret - Returnerer exit 1 = ikke installeret

↑ Tilbage til toppen


Øvrige scripts i pakken

Bemærk: Alle PowerShell-scripts er pakket ind i samme IntuneWin-pakke. Det betyder at man altid kan kalde på et vilkårligt script direkte fra Intune eller manuelt, f.eks.:

powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1
powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1 -AllUsers
powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1
powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1 -AllUsers
powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1
powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1 -AllUsers

osv. for alle scripts i pakken.

SignOnly.ps1

Signerer alle eksisterende .rdp-filer på skrivebord(e) uden at kopiere filer. Nyttigt til gensignering efter en opdatering eller hvis filer allerede er installeret. Kør som administrator. Understøtter -AllUsers switch.

SignOnly_detect.ps1

Registreringsscript til brug med SignOnly.ps1 som Intune-pakke. Tjekker: - Certifikat findes i My, Root og TrustedPublisher stores - Thumbprint er til stede i registry - Alle .rdp-filer på skrivebord(e) indeholder en gyldig signatur

Understøtter -AllUsers switch.

Clearsigning.ps1

Fjerner alle signeringsartefakter. Nyttigt til test eller oprydning. Kør som administrator. Understøtter -AllUsers switch. - Fjerner signscope- og signature-linjer fra alle .rdp-filer på skrivebord(e) - Fjerner CN=RDPSign-certifikatet fra My, Root og TrustedPublisher stores - Fjerner TrustedCertThumbprints fra registry - Fjerner RedirectionWarningDialogVersion fra registry

sandbox.ps1

Kombinerer install og detect i ét script til lokal sandkasse-test. Understøtter -AllUsers switch. Kør fra mappen der indeholder rdp-files\ som administrator. Output skrives til både konsollen og C:\Intune\DesktopShortcuts.log.

↑ Tilbage til toppen