Windows 10 GPO Standardprogramme festlegen
Gilt für: Windows 10, Windows Server 2016, Windows Server 2019
Unter Windows 10 kann der Benutzer unter „Einstellungen > Apps > Standard-Apps“ Programme als Standard zuordnen. Doch in einer Unternehmensumgebung ist meist eine zentrale Richtlinie für die Festlegung der Standardprogramme erwünscht.
Die zentrale Festlegung für Windows 10 bei folgenden Standardprogrammen:
- Adobe Acrobat Reader DC
- Windows-Fotoanzeige
- Windows Media Player
Seit Windows 8 und Windows Server 2012 ist es möglich, Dateitypen einem Standardprogramm mittels GPO in einer Windows-Domäne zuzuordnen. Die gleiche Richtlinie gilt für Windows 8.1, Windows Server 2012 R2, Windows 10, Windows Server 2016 und Windows Server 2019.
1. Manuelle Festlegung der Standardprogramme an einem Test-Client
Einstellungen> Apps > Standard-Apps > Standardeinstellungen nach App festlegen > Adobe Acrobat Reader DC
Einstellungen> Apps > Standard-Apps > Standardeinstellungen nach App festlegen > Windows-Fotoanzeige
Die Zuordnung der Dateitypen wurde unter Windows 10 für die Windows-Fotoanzeige auf .tif und .tiff reduziert.
In einer administrativen PowerShell können diese Werte in der Registry entsprechend angepasst werden:
$HKLMM = "HKLM:\SOFTWARE\Microsoft"
$PF = $env:ProgramFiles
New-PSDrive -Name HKCR Registry HKEY_CLASSES_ROOT -ErrorAction SilentlyContinue | Out-Null
$Arr1 = "Bitmap", "Gif", "JFIF", "Jpeg", "Png", "Wdp"
$Arr2 = "bmp", "gif", "dib", "jfif", "jpe", "jpg", "jxr", "wdp", "tif", "tiff"
$Name1 = "Windows Photo Viewer"
$Name2 = "PhotoViewer.FileAssoc"
$Name3 = "$PF\$Name1\PhotoViewer.dll"
$Reg1 = "$HKLMM\$Name1\Capabilities\FileAssociations"
if (!(Test-Path $Reg1)) { New-Item -Force -Path $Reg1 }
$Arr1 | ForEach-Object {
$Reg = "HKCR:\$Name2.$_"
$Reg1Arr1 = "$Reg\DefaultIcon"
$Reg2Arr1 = "$Reg\shell\open"
$Reg3Arr1 = "$Reg2Arr1\command"
$Reg4Arr1 = "$Reg2Arr1\DropTarget"
if ($_ -like "B*") { $ValFTN = "3056"; $ValDI = "70" }
if ($_ -like "G*") { $ValFTN = "3057"; $ValDI = "83" }
if ($_ -like "J*") { $ValFTN = "3055"; $ValDI = "72" }
if ($_ -like "P*") { $ValFTN = "3057"; $ValDI = "71" }
if ($_ -like "W*") { $ValFTN = $null; $ValDI = "70" }
if (!(Test-Path $Reg)) { New-Item -Force -Path $Reg }
if (!(Test-Path $Reg1Arr1)) { New-Item -Force -Path $Reg1Arr1 }
if (!(Test-Path $Reg2Arr1)) { New-Item -Force -Path $Reg2Arr1 }
if (!(Test-Path $Reg3Arr1)) { New-Item -Force -Path $Reg3Arr1 }
if (!(Test-Path $Reg4Arr1)) { New-Item -Force -Path $Reg4Arr1 }
(New-ItemProperty -Path $Reg -Force -Name "EditFlags" -PropertyType DWORD -Value 65536).PSPath
(New-ItemProperty -Path $Reg -Force -Name "ImageOptionFlags" -PropertyType DWORD -Value 1).PSPath
if ($ValFTN) { (New-ItemProperty -Path $Reg -Force -Name "FriendlyTypeName" -PropertyType ExpandString -Value "@$Name3,-$ValFTN").PSPath }
if ($ValDI) { (New-ItemProperty -Path $Reg1Arr1 -Force -Name "(Default)" -PropertyType String -Value "$SR32\imageres.dll,-$ValDI").PSPath }
(New-ItemProperty -Path $Reg2Arr1 -Force -Name "MuiVerb" -PropertyType ExpandString -Value "@$Name3,-3043").PSPath
(New-ItemProperty -Path $Reg3Arr1 -Force -Name "(Default)" -PropertyType ExpandString -Value "$SR32\rundll32.exe ""$Name3"", ImageView_Fullscreen %1").PSPath
(New-ItemProperty -Path $Reg4Arr1 -Force -Name "Clsid" -PropertyType String -Value "{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}").PSPath
}
$Arr2 | ForEach-Object {
if ($_ -like "b*" -or $_ -like "d*") { $ValST = "Bitmap" }
if ($_ -like "g*") { $ValST = "Gif" }
if ($_ -like "jf*") { $ValST = "JFIF" }
if ($_ -like "jp*" -or $_ -like "jx*") { $ValST = "Jpeg" }
if ($_ -like "p*") { $ValST = "Png" }
if ($_ -like "t*") { $ValST = "Tiff" }
if ($_ -like "w*") { $ValST = "Wdp" }
(New-ItemProperty -Path $Reg1 -Force -Name ".$_" -PropertyType String -Value "$Name2.$ValST").PSPath
}
Einstellungen> Apps > Standard-Apps > Standardeinstellungen nach App festlegen > Windows Media Player
2. Export der Einstellungen für die Standardanwendungszuordnungen mittels DISM
Mit einer administrativen PowerShell muss die Einstellungen für die Standardanwendungszuordnungen in eine XML-Datei auf einem Server-Share (Empfehlung DFS-Verzeichnis) exportiert werden.
Dism /Online /Export-DefaultAppAssociations:\\Server\Share\AppAssoc.XML
3. Anpassung der exportierten XML-Datei
Die XML-Datei sollte nach den notwendigen Dateitypen angepasst werden. Es sollten die Zeilen der gewünschten Standardprogramme erhalten bleiben:
- Adobe Acrobat Reader DC
- Windows-Fotoanzeige
- Windows Media Player
4. GPO aktivieren
Computerkonfiguration\Richtlinien\Administrative Vorlagen\Windows-Komponenten\Datei-Explorer\Konfigurationsdatei für Standartzuordnungen festlegen.