<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mdm Archive - M365 Blog - Julian Stabentheiner</title>
	<atom:link href="https://stabentheiner.de/tag/mdm/feed/" rel="self" type="application/rss+xml" />
	<link>https://stabentheiner.de/tag/mdm/</link>
	<description>Blog über Microsoft 365 Device Management</description>
	<lastBuildDate>Thu, 01 Aug 2024 09:22:49 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Intune Policy: &#8222;Unpin from Taskbar&#8220; &#8230;Aber auf deutschem Windows</title>
		<link>https://stabentheiner.de/2023/01/26/intune-policy-unpin-from-taskbar-aber-auf-deutschem-windows/</link>
					<comments>https://stabentheiner.de/2023/01/26/intune-policy-unpin-from-taskbar-aber-auf-deutschem-windows/#respond</comments>
		
		<dc:creator><![CDATA[Julian Stabentheiner]]></dc:creator>
		<pubDate>Thu, 26 Jan 2023 11:55:15 +0000</pubDate>
				<category><![CDATA[Intune]]></category>
		<category><![CDATA[device management]]></category>
		<category><![CDATA[intune]]></category>
		<category><![CDATA[m365]]></category>
		<category><![CDATA[mdm]]></category>
		<guid isPermaLink="false">https://stabentheiner.de/?p=11</guid>

					<description><![CDATA[<p>Die Erstellung einer Intune Policy zum ausblenden bestimmter Apps von der Taskbar. Speziell auf einem deutschen Windows Betriebssystem. Unpin from Taskbar.</p>
<p>Der Beitrag <a href="https://stabentheiner.de/2023/01/26/intune-policy-unpin-from-taskbar-aber-auf-deutschem-windows/">Intune Policy: &#8222;Unpin from Taskbar&#8220; &#8230;Aber auf deutschem Windows</a> erschien zuerst auf <a href="https://stabentheiner.de">M365 Blog - Julian Stabentheiner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Im Netz kursieren zahlreiche Tutorials, wie man per Policy bzw. Script auf einem Intune Device bestimmte Standardapps wie z.B. Mail oder den Windows Store aus der Taskleiste entfernt. Diese sind auch alle sehr gut geschrieben und eigentlich ist es auch kein Hexenwerk. Wer dies allerdings auf einem Windows mit deutschem Sprachpaket umzusetzen, der wird irgendwann auf ein Problem stoßen, welches mich ein paar Stunden gekostet hat. </p>



<p>Im Kern wird ein Script im user-context ausgeführt, welches nach der App in der Taskleiste sucht und dann im Kontextmenü den Klick auf <em><strong>Unpin from taskbar</strong></em> ausführt.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="powershell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$apps = ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items())
foreach ($app in $apps) {
    $appname = $app.Name
    if ($appname -like "Microsoft Store") {
        $finalname = $app.Name
    }
}

((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ? { $_.Name -eq $finalname }).Verbs() | ? { $_.Name.replace('&amp;', '') -match 'Unpin from taskbar' } | % { $_.DoIt(); $exec = $true }</pre>



<p>Okay soweit. Es muss dann nur auf die deutsche Lokalisation von Windows angepasst werden &#8211; habe ich gedacht. Also flink <em><strong>Unpin from taskbar</strong></em> im Script durch <em><strong>Von Taskleiste lösen</strong></em> ersetzt. </p>



<p>Anschließen habe ich das Powershell-Script lokal auf meinem Client getestet und es funktionierte auch wie es sollte. Nach dem ersten Deployment auf meinem Testgerät kam allerdings die Ernüchterung&#8230; Es passiert leider nichts. </p>



<p>Ich habe dann das Script durch etwas Debugging erweitert und auf dem Client dann festgestellt, dass das <em><strong>ö</strong></em> in <em><strong>Von Taskleiste lösen </strong></em>es leider nicht bis auf dem Client schafft. </p>



<p>Also habe ich mir die Microsoft Docs dazu mal genauer angesehen:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<ul class="wp-block-list">
<li><strong>Script location</strong>: Browse to the PowerShell script. The script must be less than 200 KB (ASCII).</li>
</ul>
</blockquote>



<p><em>Quelle: <a href="https://learn.microsoft.com/en-us/mem/intune/apps/intune-management-extension#create-a-script-policy-and-assign-it">https://learn.microsoft.com/en-us/mem/intune/apps/intune-management-extension#create-a-script-policy-and-assign-it</a></em></p>



<p>Microsoft verlang also explizit reinen <strong>ASCII Code</strong> im Powershell-Script. Ich musste es also schaffen, dass das ö erst auf dem Client erschaffen wird. Mit der Funktion [char] und des darauf folgenden ASCII-Wertes, kann man im Script das Zeichen erstellen. In meinem Fall das <strong>ö</strong>. Um die passende Nummer zu erhalten, kann man folgenden Befehl in Powershell ausführen</p>



<pre class="EnlighterJSRAW" data-enlighter-language="powershell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[byte][char]'ö'
246</pre>



<p>Somit kann man dann im Script das <strong>ö</strong> in eine Variable schreiben und sich somit den String <strong>Von Taskleiste lösen</strong> zusammenbauen.</p>



<p>Ich habe das ganze noch durch eine Abfrage der aktuellen Systemsprache ergänzt, um das Script auch in Mischumgebungen sowie universell einsetzen zu können. </p>



<pre class="EnlighterJSRAW" data-enlighter-language="powershell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$winlanguage = Get-WinSystemLocale

If ($winlanguage.name -eq "de-DE") {
    $oe = [char]246
    $command = 'Von Taskleiste l' + $oe + 'sen'
}</pre>



<p>Final sieht mein Script dann so aus.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="powershell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">################################################
### Author: Julian Stabentheiner
### Date: 26.01.2023
### Description: Unpin Apps from Taskbar
################################################

#Sleep Script after user logon
Start-Sleep -s 30

#List of Apps to unpin from Taskbar
$apps = "Microsoft Store" , "Mail"

#Get Windows System Language
$winlanguage = Get-WinSystemLocale

If ($winlanguage.name -eq "de-DE") {
    $oe = [char]246
    $command = 'Von Taskleiste l' + $oe + 'sen'
}
If ($winlanguage.name -eq "en-US") {
    $command = 'Unpin from taskbar'
}


foreach ($app in $apps) {
    ((New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ? { $_.Name -eq $app }).Verbs() | ? { $_.Name.replace('&amp;', '') -match $command } | % { $_.DoIt(); $exec = $true }
}</pre>



<p>Sofern Clients in mehreren Sprachen vorhanden sind, müsste man das Script noch um eine Prüfung der Windows Sprache erweitern. Sollte ich diese Anforderung in Zukunft einmal haben, werde ich den Beitrag entsprechend anpassen.</p>



<h2 class="wp-block-heading">Umsetzung der Policy</h2>



<p>Der Vollständigkeit halber möchte ich hier noch die Erstellung des Scripts in Intune zeigen. </p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="772" height="350" src="https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_009.png" alt="" class="wp-image-18" srcset="https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_009.png 772w, https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_009-300x136.png 300w, https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_009-768x348.png 768w" sizes="(max-width: 772px) 100vw, 772px" /><figcaption class="wp-element-caption">Script settings</figcaption></figure>



<p>Als Assignment habe ich <strong>All users</strong> gewählt. Es können aber auch andere Varianten gewählt werden, je nach Anwendungsfall. </p>



<figure class="wp-block-image size-full"><img decoding="async" width="768" height="548" src="https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_010.png" alt="" class="wp-image-19" srcset="https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_010.png 768w, https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_010-300x214.png 300w" sizes="(max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Assignments</figcaption></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="625" height="758" src="https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_011.png" alt="" class="wp-image-20" srcset="https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_011.png 625w, https://stabentheiner.de/wp-content/uploads/2023/01/chrome_2023-01-26_011-247x300.png 247w" sizes="(max-width: 625px) 100vw, 625px" /><figcaption class="wp-element-caption">Review + add</figcaption></figure>



<h2 class="wp-block-heading">Alternative Ausführung über Proactive Remediations</h2>



<p>Je nach vorhandener Lizenz, kann die Ausführung des Scripts als <strong>Proactive Remediation</strong> die bessere Lösung sein. In meinem Fall funktioniert es als Script allerdings wie gewollt und wenn ein User die Microsoft Store App doch wieder an die Taskleiste anpinnen möchte, kann er das auch tun. Die <strong>Proactive Remediation</strong> würde diese immer wieder entfernen.</p>
<p>Der Beitrag <a href="https://stabentheiner.de/2023/01/26/intune-policy-unpin-from-taskbar-aber-auf-deutschem-windows/">Intune Policy: &#8222;Unpin from Taskbar&#8220; &#8230;Aber auf deutschem Windows</a> erschien zuerst auf <a href="https://stabentheiner.de">M365 Blog - Julian Stabentheiner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabentheiner.de/2023/01/26/intune-policy-unpin-from-taskbar-aber-auf-deutschem-windows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
