feat: opdater Detect.ps1 med specifik fil-tjek og opdater README
- 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
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
- [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)
|
||||
@@ -24,7 +25,7 @@
|
||||
| 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` | Registrerer om alle RDP-filer fra pakken er til stede på skrivebord(e). 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. |
|
||||
@@ -36,6 +37,28 @@
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
+18
-13
@@ -1,5 +1,7 @@
|
||||
# ============================================================
|
||||
# CHANGELOG
|
||||
# v1.2 - Checks for specific expected .rdp filenames instead
|
||||
# of just "any .rdp file exists on desktop".
|
||||
# v1.1 - Added -AllUsers switch to check all user desktops
|
||||
# instead of only the public desktop.
|
||||
# Added Get-DesktopPaths helper function.
|
||||
@@ -10,6 +12,16 @@ param(
|
||||
[switch]$AllUsers
|
||||
)
|
||||
|
||||
# ============================================================
|
||||
# Update this list whenever .rdp files are added or removed
|
||||
# from the rdp-files\\ folder.
|
||||
# ============================================================
|
||||
$expectedFiles = @(
|
||||
# Add your .rdp filenames here, e.g.:
|
||||
# "RemoteServer1.rdp",
|
||||
# "RemoteServer2.rdp"
|
||||
)
|
||||
|
||||
# Setup logging
|
||||
$baseFolder = Join-Path $env:SystemDrive "Intune"
|
||||
$logFile = Join-Path $baseFolder "DesktopShortcuts.log"
|
||||
@@ -37,28 +49,21 @@ function Get-DesktopPaths {
|
||||
}
|
||||
|
||||
try {
|
||||
$desktopPaths = Get-DesktopPaths
|
||||
$desktopPaths = Get-desktopPaths
|
||||
$allFound = $true
|
||||
|
||||
foreach ($desktopPath in $desktopPaths) {
|
||||
$rdpFiles = Get-ChildItem -Path "$desktopPath\*.rdp" -ErrorAction SilentlyContinue
|
||||
|
||||
if ($rdpFiles.Count -eq 0) {
|
||||
Write-Log "DETECT [FAIL]: No .rdp files found on desktop: $desktopPath"
|
||||
$allFound = $false
|
||||
continue
|
||||
}
|
||||
|
||||
foreach ($file in $rdpFiles) {
|
||||
if (-not (Test-Path (Join-Path $desktopPath $file.Name))) {
|
||||
Write-Log "DETECT [FAIL]: Missing: $($file.Name) on $desktopPath"
|
||||
foreach ($fileName in $expectedFiles) {
|
||||
$targetFile = Join-Path $desktopPath $fileName
|
||||
if (-not (Test-Path $targetFile)) {
|
||||
Write-Log "DETECT [FAIL]: Missing: $fileName on $desktopPath"
|
||||
$allFound = $false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($allFound) {
|
||||
Write-Log "DETECT [OK]: All .rdp files found on all desktop(s)"
|
||||
Write-Log "DETECT [OK]: All expected .rdp files found"
|
||||
exit 0
|
||||
} else {
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user