e70ead8e10
- Implementer $expectedFiles array i Detect.ps1 for at tjekke specifikke .rdp-filnavne - Opdater beskrivelse af Detect.ps1 i pakkens indhold tabel - Tilføj afsnit 'Sådan opsætter du Detect.ps1' med eksempel og forklaring - Opdater indholdsfortegnelse med nyt afsnit
215 lines
9.4 KiB
Markdown
215 lines
9.4 KiB
Markdown
# 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](#pakkens-indhold)
|
|
- [Intune App Konfiguration](#intune-app-konfiguration)
|
|
- [Hvad Install.ps1 gør](#hvad-installps1-gør)
|
|
- [Sådan opsætter du Detect.ps1](#sådan-opsætter-du-detectps1)
|
|
- [AllUsers Switch](#allusers-switch)
|
|
- [Registry-ændringer](#registry-ændringer)
|
|
- [Logning og fejlfinding](#logning-og-fejlfinding)
|
|
- [SignOnly Intune App Konfiguration](#signonly-intune-app-konfiguration)
|
|
- [Øvrige scripts i pakken](#øvrige-scripts-i-pakken)
|
|
|
|
---
|
|
|
|
## 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](#rdp---intunewin-pakke)
|
|
|
|
---
|
|
|
|
## 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\\`:
|
|
|
|
```powershell
|
|
$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
|
|
- **Installationskommando:**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1`
|
|
- **Installationskommando (alle brugeres skriveborde):**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1 -AllUsers`
|
|
- **Afinstallationskommando:**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Uninstall.ps1`
|
|
- **Afinstallationskommando (alle brugeres skriveborde):**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Uninstall.ps1 -AllUsers`
|
|
- **Installationsadfærd:** System
|
|
|
|
### 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](#rdp---intunewin-pakke)
|
|
|
|
---
|
|
|
|
## Hvad Install.ps1 gør
|
|
|
|
1. Finder målskrivebord(e) — offentligt skrivebord som standard, alle brugeres skriveborde med `-AllUsers`
|
|
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](#rdp---intunewin-pakke)
|
|
|
|
---
|
|
|
|
## 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.
|
|
|
|
```powershell
|
|
# Kun offentligt skrivebord (standard)
|
|
.\Install.ps1
|
|
|
|
# Alle brugeres skriveborde
|
|
.\Install.ps1 -AllUsers
|
|
```
|
|
|
|
[↑ Tilbage til toppen](#rdp---intunewin-pakke)
|
|
|
|
---
|
|
|
|
## 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](#rdp---intunewin-pakke)
|
|
|
|
---
|
|
|
|
## 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](#rdp---intunewin-pakke)
|
|
|
|
---
|
|
|
|
## SignOnly Intune App Konfiguration
|
|
|
|
### Program
|
|
- **Installationskommando:**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1`
|
|
- **Installationskommando (alle brugeres skriveborde):**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1 -AllUsers`
|
|
- **Afinstallationskommando:**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1`
|
|
- **Afinstallationskommando (alle brugeres skriveborde):**
|
|
`powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1 -AllUsers`
|
|
- **Installationsadfærd:** System
|
|
|
|
### 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](#rdp---intunewin-pakke)
|
|
|
|
---
|
|
|
|
## Ø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
|
|
> 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](#rdp---intunewin-pakke)
|