diff --git a/README.html b/README.html index b80bc5d..19791b7 100644 --- a/README.html +++ b/README.html @@ -1,340 +1,342 @@ -

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FilFormål
Install.ps1Kopierer RDP-filer til skrivebord(e), opretter selvsigneret - certifikat og signerer alle RDP-filer. Understøtter - -AllUsers switch. -
Detect.ps1Tjekker at specifikke forventede .rdp-filer (defineret i - $expectedFiles array) eksisterer på skrivebord(e). - Understøtter -AllUsers switch. -
Uninstall.ps1Fjerner RDP-filer fra skrivebord(e). Understøtter - -AllUsers switch. -
SignOnly.ps1Signerer eksisterende RDP-filer på skrivebord(e) — ingen - filkopiering. Understøtter -AllUsers switch.
SignOnly_detect.ps1Registrerer om certifikat er til stede og alle RDP-filer på - skrivebord(e) er signerede. Understøtter -AllUsers - switch.
Clearsigning.ps1Fjerner signaturer fra RDP-filer og rydder op i certifikat og - registry (til oprydning/debug). Understøtter -AllUsers - switch.
sandbox.ps1Kombineret install + detect script til lokal sandkasse-test. - Understøtter -AllUsers switch.
rdp-files\*.rdpKilde-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
  2. -
  3. Kopierer alle .rdp-filer fra .\rdp-files\ - til de fundne skrivebord(e)
  4. -
  5. Søger efter eksisterende selvsigneret certifikat - (CN=RDPSign) i Cert:\LocalMachine\My
  6. -
  7. Opretter et nyt selvsigneret kodesigneringscertifikat hvis intet - findes (gyldigt i 25 år, ikke-eksporterbart)
  8. -
  9. Tilføjer certifikatet til Trusted Root og - Trusted Publishers i den lokale maskines - certifikatstore -
  10. -
  11. Tilføjer certifikatets thumbprint til registry-nøglen - TrustedCertThumbprints -
  12. -
  13. Signerer alle .rdp-filer på skrivebord(e) med - rdpsign.exe /sha256 -
  14. -
  15. Sætter RedirectionWarningDialogVersion = 1 i registry - for at undertrykke RDP-advarselsdialoger
  16. -
-

↑ 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, itererer scriptet i stedet over alle brugerprofiler under - C:\Users\ og behandler hver brugers - Desktop-mappe. -

-
-
# Kun offentligt skrivebord (standard)
-.\Install.ps1
-
-# Alle brugeres skriveborde
-.\Install.ps1 -AllUsers
-
-

↑ Tilbage til toppen

-
-

Registry-ændringer

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StiVærdiTypeData
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal ServicesTrustedCertThumbprintsStringCertifikatets thumbprint
HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\ClientRedirectionWarningDialogVersionDWORD1
-

↑ Tilbage til toppen

-
-

Logning og fejlfinding

- - - - - - - - - - - - - - - - - - - - - - - - - -
ScriptLogfil
Install.ps1C:\Intune\DesktopShortcuts.log
Detect.ps1C:\Intune\DesktopShortcuts.log
Uninstall.ps1C:\Intune\DesktopShortcuts.log
SignOnly.ps1C:\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.

+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FilFormål
Install.ps1Kopierer RDP-filer til skrivebord(e), opretter selvsigneret + certifikat og signerer alle RDP-filer. Understøtter + -AllUsers switch. +
Detect.ps1Tjekker at specifikke forventede .rdp-filer (defineret i + $expectedFiles array) eksisterer på skrivebord(e). + Understøtter -AllUsers switch. +
Uninstall.ps1Fjerner RDP-filer fra skrivebord(e). Understøtter + -AllUsers switch. +
SignOnly.ps1Signerer eksisterende RDP-filer på skrivebord(e) — ingen + filkopiering. Understøtter -AllUsers switch.
SignOnly_detect.ps1Registrerer om certifikat er til stede og alle RDP-filer på + skrivebord(e) er signerede. Understøtter -AllUsers + switch.
Clearsigning.ps1Fjerner signaturer fra RDP-filer og rydder op i certifikat og + registry (til oprydning/debug). Understøtter -AllUsers + switch.
sandbox.ps1Kombineret install + detect script til lokal sandkasse-test. + Understøtter -AllUsers switch.
rdp-files\*.rdpKilde-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. +
  3. Kopierer alle .rdp-filer fra .\rdp-files\ + til de fundne skrivebord(e)
  4. +
  5. Søger efter eksisterende selvsigneret certifikat + (CN=RDPSign) i Cert:\LocalMachine\My
  6. +
  7. Opretter et nyt selvsigneret kodesigneringscertifikat hvis intet + findes (gyldigt i 25 år, ikke-eksporterbart)
  8. +
  9. Tilføjer certifikatet til Trusted Root og + Trusted Publishers i den lokale maskines + certifikatstore +
  10. +
  11. Tilføjer certifikatets thumbprint til registry-nøglen + TrustedCertThumbprints +
  12. +
  13. Signerer alle .rdp-filer på skrivebord(e) med + rdpsign.exe /sha256 +
  14. +
  15. Sætter RedirectionWarningDialogVersion = 1 i registry + for at undertrykke RDP-advarselsdialoger
  16. +
+

↑ 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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StiVærdiTypeData
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal ServicesTrustedCertThumbprintsStringCertifikatets thumbprint
HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\ClientRedirectionWarningDialogVersionDWORD1
+

↑ Tilbage til toppen

+
+

Logning og fejlfinding

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ScriptLogfil
Install.ps1C:\Intune\DesktopShortcuts.log
Detect.ps1C:\Intune\DesktopShortcuts.log
Uninstall.ps1C:\Intune\DesktopShortcuts.log
SignOnly.ps1C:\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

\ No newline at end of file diff --git a/README.md b/README.md index 0a924cd..5b94107 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ Registreringslogik: ## Hvad Install.ps1 gør -1. Finder målskrivebord(e) — offentligt skrivebord som standard, alle brugeres skriveborde med `-AllUsers` +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) @@ -105,7 +105,7 @@ Registreringslogik: ## 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, itererer scriptet i stedet over alle brugerprofiler under `C:\Users\` og behandler hver brugers `Desktop`-mappe. +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`. ```powershell # Kun offentligt skrivebord (standard)