docs: opdatér README med Get-DesktopPaths Depth 2 ændring

- Tilføj info om Depth 2 søgning i Install.ps1 og AllUsers Switch
    - Nævn OneDrive Desktop, ekskludering af Public/Default og -Depth 2
    - Samme opdatering i README.md og README.html
This commit is contained in:
GCH
2026-06-02 08:57:22 +02:00
parent 2225abed9d
commit 81870bcdcf
2 changed files with 343 additions and 341 deletions
+341 -339
View File
@@ -1,340 +1,342 @@
<h1 id="rdp---intunewin-pakke">RDP - IntuneWin Pakke</h1> <h1 id="rdp---intunewin-pakke">RDP - IntuneWin Pakke</h1>
<blockquote> <blockquote>
<p>Denne pakke installerer og signerer RDP-genveje på skrivebordet via <p>Denne pakke installerer og signerer RDP-genveje på skrivebordet via
et selvsigneret certifikat, så brugerne ikke får en sikkerhedsadvarsel et selvsigneret certifikat, så brugerne ikke får en sikkerhedsadvarsel
ved åbning. Som standard arbejder alle scripts mod det ved åbning. Som standard arbejder alle scripts mod det
<strong>offentlige skrivebord</strong> <strong>offentlige skrivebord</strong>
(<code>C:\Users\Public\Desktop</code>). Brug <code>-AllUsers</code> (<code>C:\Users\Public\Desktop</code>). Brug <code>-AllUsers</code>
switchen for at køre mod alle brugeres individuelle skriveborde i switchen for at køre mod alle brugeres individuelle skriveborde i
stedet. stedet.
</p> </p>
</blockquote> </blockquote>
<hr /> <hr />
<h2 id="indhold">Indhold</h2> <h2 id="indhold">Indhold</h2>
<ul> <ul>
<li><a href="#pakkens-indhold">Pakkens indhold</a></li> <li><a href="#pakkens-indhold">Pakkens indhold</a></li>
<li><a href="#intune-app-konfiguration">Intune App <li><a href="#intune-app-konfiguration">Intune App
Konfiguration</a></li> Konfiguration</a></li>
<li><a href="#hvad-install.ps1-gør">Hvad Install.ps1 gør</a></li> <li><a href="#hvad-install.ps1-gør">Hvad Install.ps1 gør</a></li>
<li><a href="#sådan-opsætter-du-detect.ps1">Sådan opsætter du <li><a href="#sådan-opsætter-du-detect.ps1">Sådan opsætter du
Detect.ps1</a></li> Detect.ps1</a></li>
<li><a href="#allusers-switch">AllUsers Switch</a></li> <li><a href="#allusers-switch">AllUsers Switch</a></li>
<li><a href="#registry-ændringer">Registry-ændringer</a></li> <li><a href="#registry-ændringer">Registry-ændringer</a></li>
<li><a href="#logning-og-fejlfinding">Logning og fejlfinding</a></li> <li><a href="#logning-og-fejlfinding">Logning og fejlfinding</a></li>
<li><a href="#signonly-intune-app-konfiguration">SignOnly Intune App <li><a href="#signonly-intune-app-konfiguration">SignOnly Intune App
Konfiguration</a></li> Konfiguration</a></li>
<li><a href="#øvrige-scripts-i-pakken">Øvrige scripts i pakken</a></li> <li><a href="#øvrige-scripts-i-pakken">Øvrige scripts i pakken</a></li>
</ul> </ul>
<hr /> <hr />
<h2 id="pakkens-indhold">Pakkens indhold</h2> <h2 id="pakkens-indhold">Pakkens indhold</h2>
<table> <table>
<colgroup> <colgroup>
<col style="width: 38%" /> <col style="width: 38%" />
<col style="width: 61%" /> <col style="width: 61%" />
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th>Fil</th> <th>Fil</th>
<th>Formål</th> <th>Formål</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td><code>Install.ps1</code></td> <td><code>Install.ps1</code></td>
<td>Kopierer RDP-filer til skrivebord(e), opretter selvsigneret <td>Kopierer RDP-filer til skrivebord(e), opretter selvsigneret
certifikat og signerer alle RDP-filer. Understøtter certifikat og signerer alle RDP-filer. Understøtter
<code>-AllUsers</code> switch. <code>-AllUsers</code> switch.
</td> </td>
</tr> </tr>
<tr> <tr>
<td><code>Detect.ps1</code></td> <td><code>Detect.ps1</code></td>
<td>Tjekker at specifikke forventede .rdp-filer (defineret i <td>Tjekker at specifikke forventede .rdp-filer (defineret i
<code>$expectedFiles</code> array) eksisterer på skrivebord(e). <code>$expectedFiles</code> array) eksisterer på skrivebord(e).
Understøtter <code>-AllUsers</code> switch. Understøtter <code>-AllUsers</code> switch.
</td> </td>
</tr> </tr>
<tr> <tr>
<td><code>Uninstall.ps1</code></td> <td><code>Uninstall.ps1</code></td>
<td>Fjerner RDP-filer fra skrivebord(e). Understøtter <td>Fjerner RDP-filer fra skrivebord(e). Understøtter
<code>-AllUsers</code> switch. <code>-AllUsers</code> switch.
</td> </td>
</tr> </tr>
<tr> <tr>
<td><code>SignOnly.ps1</code></td> <td><code>SignOnly.ps1</code></td>
<td>Signerer eksisterende RDP-filer på skrivebord(e) — ingen <td>Signerer eksisterende RDP-filer på skrivebord(e) — ingen
filkopiering. Understøtter <code>-AllUsers</code> switch.</td> filkopiering. Understøtter <code>-AllUsers</code> switch.</td>
</tr> </tr>
<tr> <tr>
<td><code>SignOnly_detect.ps1</code></td> <td><code>SignOnly_detect.ps1</code></td>
<td>Registrerer om certifikat er til stede og alle RDP-filer på <td>Registrerer om certifikat er til stede og alle RDP-filer på
skrivebord(e) er signerede. Understøtter <code>-AllUsers</code> skrivebord(e) er signerede. Understøtter <code>-AllUsers</code>
switch.</td> switch.</td>
</tr> </tr>
<tr> <tr>
<td><code>Clearsigning.ps1</code></td> <td><code>Clearsigning.ps1</code></td>
<td>Fjerner signaturer fra RDP-filer og rydder op i certifikat og <td>Fjerner signaturer fra RDP-filer og rydder op i certifikat og
registry (til oprydning/debug). Understøtter <code>-AllUsers</code> registry (til oprydning/debug). Understøtter <code>-AllUsers</code>
switch.</td> switch.</td>
</tr> </tr>
<tr> <tr>
<td><code>sandbox.ps1</code></td> <td><code>sandbox.ps1</code></td>
<td>Kombineret install + detect script til lokal sandkasse-test. <td>Kombineret install + detect script til lokal sandkasse-test.
Understøtter <code>-AllUsers</code> switch.</td> Understøtter <code>-AllUsers</code> switch.</td>
</tr> </tr>
<tr> <tr>
<td><code>rdp-files\*.rdp</code></td> <td><code>rdp-files\*.rdp</code></td>
<td>Kilde-RDP-filer der installeres på skrivebord(e)</td> <td>Kilde-RDP-filer der installeres på skrivebord(e)</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
<hr /> <hr />
<h2 id="sådan-opsætter-du-detect.ps1">Sådan opsætter du Detect.ps1</h2> <h2 id="sådan-opsætter-du-detect.ps1">Sådan opsætter du Detect.ps1</h2>
<p>Før du uploader <code>Detect.ps1</code> til Intune som <p>Før du uploader <code>Detect.ps1</code> til Intune som
registreringsregel, skal du åbne filen og udfylde registreringsregel, skal du åbne filen og udfylde
<code>$expectedFiles</code> array med de <code>.rdp</code> filnavne der <code>$expectedFiles</code> array med de <code>.rdp</code> filnavne der
ligger i <code>.\\rdp-files\\</code>: ligger i <code>.\\rdp-files\\</code>:
</p> </p>
<div class="sourceCode" id="cb1"> <div class="sourceCode" id="cb1">
<pre class="sourceCode powershell"><code class="sourceCode powershell"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="va">$expectedFiles</span> <span class="op">=</span> <span class="op">@(</span></span> <pre class="sourceCode powershell"><code class="sourceCode powershell"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="va">$expectedFiles</span> <span class="op">=</span> <span class="op">@(</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;Server1.rdp&quot;</span><span class="op">,</span></span> <span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;Server1.rdp&quot;</span><span class="op">,</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;Server2.rdp&quot;</span><span class="op">,</span></span> <span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;Server2.rdp&quot;</span><span class="op">,</span></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;DesktopApp.rdp&quot;</span></span> <span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;DesktopApp.rdp&quot;</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="op">)</span></span></code></pre> <span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="op">)</span></span></code></pre>
</div> </div>
<p>Når scriptet kører: - Uden <code>-AllUsers</code>: tjekker at alle <p>Når scriptet kører: - Uden <code>-AllUsers</code>: tjekker at alle
filer i <code>$expectedFiles</code> findes på det offentlige skrivebord filer i <code>$expectedFiles</code> findes på det offentlige skrivebord
(<code>C:\Users\Public\Desktop</code>) - Med <code>-AllUsers</code>: (<code>C:\Users\Public\Desktop</code>) - Med <code>-AllUsers</code>:
tjekker alle filer i <code>$expectedFiles</code> på tværs af alle tjekker alle filer i <code>$expectedFiles</code> på tværs af alle
brugeres skriveborde - Returnerer <code>exit 0</code> = installeret brugeres skriveborde - Returnerer <code>exit 0</code> = installeret
(alle filer fundet) - Returnerer <code>exit 1</code> = ikke installeret (alle filer fundet) - Returnerer <code>exit 1</code> = ikke installeret
(en eller flere filer mangler)</p> (en eller flere filer mangler)</p>
<blockquote> <blockquote>
<p><strong>Vigtigt:</strong> Husk at opdatere <p><strong>Vigtigt:</strong> Husk at opdatere
<code>$expectedFiles</code> hver gang du tilføjer eller fjerner <code>$expectedFiles</code> hver gang du tilføjer eller fjerner
<code>.rdp</code> filer i pakken, ellers vil detekteringen være <code>.rdp</code> filer i pakken, ellers vil detekteringen være
forkert. forkert.
</p> </p>
</blockquote> </blockquote>
<hr /> <hr />
<h2 id="intune-app-konfiguration">Intune App Konfiguration</h2> <h2 id="intune-app-konfiguration">Intune App Konfiguration</h2>
<h3 id="program">Program</h3> <h3 id="program">Program</h3>
<ul> <ul>
<li><strong>Installationskommando:</strong> <li><strong>Installationskommando:</strong>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1</code> <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1</code>
</li> </li>
<li><strong>Installationskommando (alle brugeres skriveborde):</strong> <li><strong>Installationskommando (alle brugeres skriveborde):</strong>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1 -AllUsers</code> <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Install.ps1 -AllUsers</code>
</li> </li>
<li><strong>Afinstallationskommando:</strong> <li><strong>Afinstallationskommando:</strong>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Uninstall.ps1</code> <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Uninstall.ps1</code>
</li> </li>
<li><strong>Afinstallationskommando (alle brugeres <li><strong>Afinstallationskommando (alle brugeres
skriveborde):</strong> skriveborde):</strong>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Uninstall.ps1 -AllUsers</code> <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Uninstall.ps1 -AllUsers</code>
</li> </li>
<li><strong>Installationsadfærd:</strong> System</li> <li><strong>Installationsadfærd:</strong> System</li>
</ul> </ul>
<h3 id="registreringsregel">Registreringsregel</h3> <h3 id="registreringsregel">Registreringsregel</h3>
<p>Brug et brugerdefineret registreringsscript: - <p>Brug et brugerdefineret registreringsscript: -
<strong>Scriptfil:</strong> <code>Detect.ps1</code> - <strong>Kør script <strong>Scriptfil:</strong> <code>Detect.ps1</code> - <strong>Kør script
som 32-bit proces på 64-bit klienter:</strong> Nej - <strong>Gennemtving som 32-bit proces på 64-bit klienter:</strong> Nej - <strong>Gennemtving
scriptsignaturkontrol:</strong> Nej scriptsignaturkontrol:</strong> Nej
</p> </p>
<p>Registreringslogik: - Uden <code>-AllUsers</code>: tjekker at alle <p>Registreringslogik: - Uden <code>-AllUsers</code>: tjekker at alle
<code>.rdp</code>-filer er til stede på det offentlige skrivebord <code>.rdp</code>-filer er til stede på det offentlige skrivebord
(<code>C:\Users\Public\Desktop</code>) - Med <code>-AllUsers</code>: (<code>C:\Users\Public\Desktop</code>) - Med <code>-AllUsers</code>:
tjekker alle brugeres skriveborde under <code>C:\Users\</code> - tjekker alle brugeres skriveborde under <code>C:\Users\</code> -
Returnerer <code>exit 0</code> = installeret - Returnerer Returnerer <code>exit 0</code> = installeret - Returnerer
<code>exit 1</code> = ikke installeret <code>exit 1</code> = ikke installeret
</p> </p>
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
<hr /> <hr />
<h2 id="hvad-install.ps1-gør">Hvad Install.ps1 gør</h2> <h2 id="hvad-install.ps1-gør">Hvad Install.ps1 gør</h2>
<ol type="1"> <ol type="1">
<li>Finder målskrivebord(e) — offentligt skrivebord som standard, alle <li>Finder målskrivebord(e) — offentligt skrivebord som standard, alle
brugeres skriveborde med <code>-AllUsers</code></li> brugeres skriveborde med <code>-AllUsers</code>. Med <code>-AllUsers</code>
<li>Kopierer alle <code>.rdp</code>-filer fra <code>.\rdp-files\</code> søges 2 mapper ned så OneDrive-omdirigeret Desktop også fanges</li>
til de fundne skrivebord(e)</li> <li>Kopierer alle <code>.rdp</code>-filer fra <code>.\rdp-files\</code>
<li>Søger efter eksisterende selvsigneret certifikat til de fundne skrivebord(e)</li>
(<code>CN=RDPSign</code>) i <code>Cert:\LocalMachine\My</code></li> <li>Søger efter eksisterende selvsigneret certifikat
<li>Opretter et nyt selvsigneret kodesigneringscertifikat hvis intet (<code>CN=RDPSign</code>) i <code>Cert:\LocalMachine\My</code></li>
findes (gyldigt i 25 år, ikke-eksporterbart)</li> <li>Opretter et nyt selvsigneret kodesigneringscertifikat hvis intet
<li>Tilføjer certifikatet til <code>Trusted Root</code> og findes (gyldigt i 25 år, ikke-eksporterbart)</li>
<code>Trusted Publishers</code> i den lokale maskines <li>Tilføjer certifikatet til <code>Trusted Root</code> og
certifikatstore <code>Trusted Publishers</code> i den lokale maskines
</li> certifikatstore
<li>Tilføjer certifikatets thumbprint til registry-nøglen </li>
<code>TrustedCertThumbprints</code> <li>Tilføjer certifikatets thumbprint til registry-nøglen
</li> <code>TrustedCertThumbprints</code>
<li>Signerer alle <code>.rdp</code>-filer på skrivebord(e) med </li>
<code>rdpsign.exe /sha256</code> <li>Signerer alle <code>.rdp</code>-filer på skrivebord(e) med
</li> <code>rdpsign.exe /sha256</code>
<li>Sætter <code>RedirectionWarningDialogVersion = 1</code> i registry </li>
for at undertrykke RDP-advarselsdialoger</li> <li>Sætter <code>RedirectionWarningDialogVersion = 1</code> i registry
</ol> for at undertrykke RDP-advarselsdialoger</li>
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> </ol>
<hr /> <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
<h2 id="allusers-switch">AllUsers Switch</h2> <hr />
<p>Alle scripts understøtter <code>-AllUsers</code> switchen. Som <h2 id="allusers-switch">AllUsers Switch</h2>
standard — uden <code>-AllUsers</code> — køres alle scripts kun mod det <p>Alle scripts understøtter <code>-AllUsers</code> switchen. Som
<strong>offentlige skrivebord</strong> standard — uden <code>-AllUsers</code> — køres alle scripts kun mod det
(<code>C:\Users\Public\Desktop</code>). Når <code>-AllUsers</code> <strong>offentlige skrivebord</strong>
angives, itererer scriptet i stedet over alle brugerprofiler under (<code>C:\Users\Public\Desktop</code>). Når <code>-AllUsers</code>
<code>C:\Users\</code> og behandler hver brugers angives, søger scriptet i stedet på tværs af alle brugerprofiler under
<code>Desktop</code>-mappe. <code>C:\Users\</code> (ekskl. <code>Public</code>/<code>Default</code>).
</p> Der søges 2 mapper ned (<code>-Depth 2</code>) for at fange både standard
<div class="sourceCode" id="cb2"> <code>Desktop</code> og OneDrive-omdirigeret <code>Desktop</code>.
<pre </p>
class="sourceCode powershell"><code class="sourceCode powershell"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Kun offentligt skrivebord (standard)</span></span> <div class="sourceCode" id="cb2">
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span></span> <pre
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a></span> class="sourceCode powershell"><code class="sourceCode powershell"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Kun offentligt skrivebord (standard)</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Alle brugeres skriveborde</span></span> <span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span></span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a><span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span></code></pre> <span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a></span>
</div> <span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="co"># Alle brugeres skriveborde</span></span>
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> <span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a><span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span></code></pre>
<hr /> </div>
<h2 id="registry-ændringer">Registry-ændringer</h2> <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
<table> <hr />
<colgroup> <h2 id="registry-ændringer">Registry-ændringer</h2>
<col style="width: 20%" /> <table>
<col style="width: 29%" /> <colgroup>
<col style="width: 25%" /> <col style="width: 20%" />
<col style="width: 25%" /> <col style="width: 29%" />
</colgroup> <col style="width: 25%" />
<thead> <col style="width: 25%" />
<tr> </colgroup>
<th>Sti</th> <thead>
<th>Værdi</th> <tr>
<th>Type</th> <th>Sti</th>
<th>Data</th> <th>Værdi</th>
</tr> <th>Type</th>
</thead> <th>Data</th>
<tbody> </tr>
<tr> </thead>
<td><code>HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services</code></td> <tbody>
<td><code>TrustedCertThumbprints</code></td> <tr>
<td>String</td> <td><code>HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services</code></td>
<td>Certifikatets thumbprint</td> <td><code>TrustedCertThumbprints</code></td>
</tr> <td>String</td>
<tr> <td>Certifikatets thumbprint</td>
<td><code>HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\Client</code></td> </tr>
<td><code>RedirectionWarningDialogVersion</code></td> <tr>
<td>DWORD</td> <td><code>HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\Client</code></td>
<td><code>1</code></td> <td><code>RedirectionWarningDialogVersion</code></td>
</tr> <td>DWORD</td>
</tbody> <td><code>1</code></td>
</table> </tr>
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> </tbody>
<hr /> </table>
<h2 id="logning-og-fejlfinding">Logning og fejlfinding</h2> <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
<table> <hr />
<thead> <h2 id="logning-og-fejlfinding">Logning og fejlfinding</h2>
<tr> <table>
<th>Script</th> <thead>
<th>Logfil</th> <tr>
</tr> <th>Script</th>
</thead> <th>Logfil</th>
<tbody> </tr>
<tr> </thead>
<td><code>Install.ps1</code></td> <tbody>
<td><code>C:\Intune\DesktopShortcuts.log</code></td> <tr>
</tr> <td><code>Install.ps1</code></td>
<tr> <td><code>C:\Intune\DesktopShortcuts.log</code></td>
<td><code>Detect.ps1</code></td> </tr>
<td><code>C:\Intune\DesktopShortcuts.log</code></td> <tr>
</tr> <td><code>Detect.ps1</code></td>
<tr> <td><code>C:\Intune\DesktopShortcuts.log</code></td>
<td><code>Uninstall.ps1</code></td> </tr>
<td><code>C:\Intune\DesktopShortcuts.log</code></td> <tr>
</tr> <td><code>Uninstall.ps1</code></td>
<tr> <td><code>C:\Intune\DesktopShortcuts.log</code></td>
<td><code>SignOnly.ps1</code></td> </tr>
<td><code>C:\Intune\RDPSign.log</code></td> <tr>
</tr> <td><code>SignOnly.ps1</code></td>
</tbody> <td><code>C:\Intune\RDPSign.log</code></td>
</table> </tr>
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> </tbody>
<hr /> </table>
<h2 id="signonly-intune-app-konfiguration">SignOnly Intune App <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
Konfiguration</h2> <hr />
<h3 id="program-1">Program</h3> <h2 id="signonly-intune-app-konfiguration">SignOnly Intune App
<ul> Konfiguration</h2>
<li><strong>Installationskommando:</strong> <h3 id="program-1">Program</h3>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1</code> <ul>
</li> <li><strong>Installationskommando:</strong>
<li><strong>Installationskommando (alle brugeres skriveborde):</strong> <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1</code>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1 -AllUsers</code> </li>
</li> <li><strong>Installationskommando (alle brugeres skriveborde):</strong>
<li><strong>Afinstallationskommando:</strong> <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\SignOnly.ps1 -AllUsers</code>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1</code> </li>
</li> <li><strong>Afinstallationskommando:</strong>
<li><strong>Afinstallationskommando (alle brugeres <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1</code>
skriveborde):</strong> </li>
<code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1 -AllUsers</code> <li><strong>Afinstallationskommando (alle brugeres
</li> skriveborde):</strong>
<li><strong>Installationsadfærd:</strong> System</li> <code>powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File .\Clearsigning.ps1 -AllUsers</code>
</ul> </li>
<h3 id="registreringsregel-1">Registreringsregel</h3> <li><strong>Installationsadfærd:</strong> System</li>
<p>Brug et brugerdefineret registreringsscript: - </ul>
<strong>Scriptfil:</strong> <code>SignOnly_detect.ps1</code> - <h3 id="registreringsregel-1">Registreringsregel</h3>
<strong>Kør script som 32-bit proces på 64-bit klienter:</strong> Nej - <p>Brug et brugerdefineret registreringsscript: -
<strong>Gennemtving scriptsignaturkontrol:</strong> Nej <strong>Scriptfil:</strong> <code>SignOnly_detect.ps1</code> -
</p> <strong>Kør script som 32-bit proces på 64-bit klienter:</strong> Nej -
<p>Registreringslogik: - Tjekker at <code>CN=RDPSign</code>-certifikatet <strong>Gennemtving scriptsignaturkontrol:</strong> Nej
findes i <code>My</code>, <code>Root</code> og </p>
<code>TrustedPublisher</code> stores - Tjekker at thumbprint er til <p>Registreringslogik: - Tjekker at <code>CN=RDPSign</code>-certifikatet
stede i registry - Uden <code>-AllUsers</code>: tjekker at alle findes i <code>My</code>, <code>Root</code> og
<code>.rdp</code>-filer på det offentlige skrivebord er signerede - Med <code>TrustedPublisher</code> stores - Tjekker at thumbprint er til
<code>-AllUsers</code>: tjekker alle <code>.rdp</code>-filer på tværs af stede i registry - Uden <code>-AllUsers</code>: tjekker at alle
alle brugeres skriveborde - Returnerer <code>exit 0</code> + <code>.rdp</code>-filer på det offentlige skrivebord er signerede - Med
<code>"Detected"</code> = installeret - Returnerer <code>exit 1</code> = <code>-AllUsers</code>: tjekker alle <code>.rdp</code>-filer på tværs af
ikke installeret alle brugeres skriveborde - Returnerer <code>exit 0</code> +
</p> <code>"Detected"</code> = installeret - Returnerer <code>exit 1</code> =
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> ikke installeret
<hr /> </p>
<h2 id="øvrige-scripts-i-pakken">Øvrige scripts i pakken</h2> <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
<blockquote> <hr />
<p><strong>Bemærk:</strong> Alle PowerShell-scripts er pakket ind i <h2 id="øvrige-scripts-i-pakken">Øvrige scripts i pakken</h2>
samme IntuneWin-pakke. Det betyder at man altid kan kalde på et <blockquote>
vilkårligt script direkte fra Intune eller manuelt, f.eks.:</p> <p><strong>Bemærk:</strong> Alle PowerShell-scripts er pakket ind i
<div class="sourceCode" id="cb3"> samme IntuneWin-pakke. Det betyder at man altid kan kalde på et
<pre vilkårligt script direkte fra Intune eller manuelt, f.eks.:</p>
class="sourceCode powershell"><code class="sourceCode powershell"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span></span> <div class="sourceCode" id="cb3">
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span> <pre
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\SignOnly<span class="op">.</span><span class="fu">ps1</span></span> class="sourceCode powershell"><code class="sourceCode powershell"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\SignOnly<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span> <span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Install<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Clearsigning<span class="op">.</span><span class="fu">ps1</span></span> <span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\SignOnly<span class="op">.</span><span class="fu">ps1</span></span>
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Clearsigning<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span></code></pre> <span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\SignOnly<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span>
</div> <span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Clearsigning<span class="op">.</span><span class="fu">ps1</span></span>
<p>osv. for alle scripts i pakken.</p> <span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a>powershell<span class="op">.</span><span class="fu">exe</span> <span class="op">-</span>ExecutionPolicy Bypass <span class="op">-</span>NoProfile <span class="op">-</span>WindowStyle Hidden <span class="op">-</span>File <span class="op">.</span>\Clearsigning<span class="op">.</span><span class="fu">ps1</span> <span class="op">-</span>AllUsers</span></code></pre>
</blockquote> </div>
<h3 id="signonly.ps1"><code>SignOnly.ps1</code></h3> <p>osv. for alle scripts i pakken.</p>
<p>Signerer alle eksisterende <code>.rdp</code>-filer på skrivebord(e) </blockquote>
uden at kopiere filer. Nyttigt til gensignering efter en opdatering <h3 id="signonly.ps1"><code>SignOnly.ps1</code></h3>
eller hvis filer allerede er installeret. Kør som administrator. <p>Signerer alle eksisterende <code>.rdp</code>-filer på skrivebord(e)
Understøtter <code>-AllUsers</code> switch.</p> uden at kopiere filer. Nyttigt til gensignering efter en opdatering
<h3 id="signonly_detect.ps1"><code>SignOnly_detect.ps1</code></h3> eller hvis filer allerede er installeret. Kør som administrator.
<p>Registreringsscript til brug med <code>SignOnly.ps1</code> som Understøtter <code>-AllUsers</code> switch.</p>
Intune-pakke. Tjekker: - Certifikat findes i <code>My</code>, <h3 id="signonly_detect.ps1"><code>SignOnly_detect.ps1</code></h3>
<code>Root</code> og <code>TrustedPublisher</code> stores - Thumbprint <p>Registreringsscript til brug med <code>SignOnly.ps1</code> som
er til stede i registry - Alle <code>.rdp</code>-filer på skrivebord(e) Intune-pakke. Tjekker: - Certifikat findes i <code>My</code>,
indeholder en gyldig signatur <code>Root</code> og <code>TrustedPublisher</code> stores - Thumbprint
</p> er til stede i registry - Alle <code>.rdp</code>-filer på skrivebord(e)
<p>Understøtter <code>-AllUsers</code> switch.</p> indeholder en gyldig signatur
<h3 id="clearsigning.ps1"><code>Clearsigning.ps1</code></h3> </p>
<p>Fjerner alle signeringsartefakter. Nyttigt til test eller oprydning. <p>Understøtter <code>-AllUsers</code> switch.</p>
Kør som administrator. Understøtter <code>-AllUsers</code> switch. - <h3 id="clearsigning.ps1"><code>Clearsigning.ps1</code></h3>
Fjerner <code>signscope</code>- og <code>signature</code>-linjer fra <p>Fjerner alle signeringsartefakter. Nyttigt til test eller oprydning.
alle <code>.rdp</code>-filer på skrivebord(e) - Fjerner Kør som administrator. Understøtter <code>-AllUsers</code> switch. -
<code>CN=RDPSign</code>-certifikatet fra <code>My</code>, Fjerner <code>signscope</code>- og <code>signature</code>-linjer fra
<code>Root</code> og <code>TrustedPublisher</code> stores - Fjerner alle <code>.rdp</code>-filer på skrivebord(e) - Fjerner
<code>TrustedCertThumbprints</code> fra registry - Fjerner <code>CN=RDPSign</code>-certifikatet fra <code>My</code>,
<code>RedirectionWarningDialogVersion</code> fra registry <code>Root</code> og <code>TrustedPublisher</code> stores - Fjerner
</p> <code>TrustedCertThumbprints</code> fra registry - Fjerner
<h3 id="sandbox.ps1"><code>sandbox.ps1</code></h3> <code>RedirectionWarningDialogVersion</code> fra registry
<p>Kombinerer install og detect i ét script til lokal sandkasse-test. </p>
Understøtter <code>-AllUsers</code> switch. Kør fra mappen der <h3 id="sandbox.ps1"><code>sandbox.ps1</code></h3>
indeholder <code>rdp-files\</code> som administrator. Output skrives til <p>Kombinerer install og detect i ét script til lokal sandkasse-test.
både konsollen og <code>C:\Intune\DesktopShortcuts.log</code>.</p> Understøtter <code>-AllUsers</code> switch. Kør fra mappen der
indeholder <code>rdp-files\</code> som administrator. Output skrives til
både konsollen og <code>C:\Intune\DesktopShortcuts.log</code>.</p>
<p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p> <p><a href="#rdp---intunewin-pakke">↑ Tilbage til toppen</a></p>
+2 -2
View File
@@ -90,7 +90,7 @@ Registreringslogik:
## Hvad Install.ps1 gør ## 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) 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` 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) 4. Opretter et nyt selvsigneret kodesigneringscertifikat hvis intet findes (gyldigt i 25 år, ikke-eksporterbart)
@@ -105,7 +105,7 @@ Registreringslogik:
## AllUsers Switch ## 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 ```powershell
# Kun offentligt skrivebord (standard) # Kun offentligt skrivebord (standard)