Installieren von Schriftarten mit PowerShell-Befehlen bei allen Benutzern in Windows 10
Ich möchte einen unbeaufsichtigten Windows 10 x64 LTSC (1809) erstellen. Ich habe eine Reihe von Schriftarten mit Powershell über das Powershell-Skript erstellt.
Das hat gut funktioniert, aber das funktioniert nur im aktuellen Benutzer. Wenn ich versuche, einen neuen Benutzer zu erstellen, kann ich meine neuen Schriftarten nicht sehen. Neue Schriftarten werden nur für den aktuellen Benutzer installiert. Aber ich möchte, dass sie auf allen Benutzern installiert werden.
Ich denke, dieses Skript installiert nur Schriftarten im aktuellen Benutzer und sollte einen Befehl zum Installieren in allen Benutzern haben. Dies ist mein Power-Shell-Befehl:
$SourceDir = "InstallFont\"
$Source = "InstallFont\*"
$Destination = (New-Object -ComObject Shell.Application).Namespace(0x14)
$TempFolder = "C:\Windows\Temp\Fonts"
New-Item -ItemType Directory -Force -Path $SourceDir
New-Item $TempFolder -Type Directory -Force | Out-Null
Get-ChildItem -Path $Source -Include '*.ttf','*.ttc','*.otf' -Recurse | ForEach {
If (-not(Test-Path "C:\Windows\Fonts\$($_.Name)")) {
$Font = "$TempFolder\$($_.Name)"
Das hat gut funktioniert, aber das funktioniert nur im aktuellen Benutzer. Wenn ich versuche, einen neuen Benutzer zu erstellen, kann ich meine neuen Schriftarten nicht sehen. Neue Schriftarten werden nur für den aktuellen Benutzer installiert. Aber ich möchte, dass sie auf allen Benutzern installiert werden.
Ich denke, dieses Skript installiert nur Schriftarten im aktuellen Benutzer und sollte einen Befehl zum Installieren in allen Benutzern haben. Dies ist mein Power-Shell-Befehl:
$SourceDir = "InstallFont\"
$Source = "InstallFont\*"
$Destination = (New-Object -ComObject Shell.Application).Namespace(0x14)
$TempFolder = "C:\Windows\Temp\Fonts"
New-Item -ItemType Directory -Force -Path $SourceDir
New-Item $TempFolder -Type Directory -Force | Out-Null
Get-ChildItem -Path $Source -Include '*.ttf','*.ttc','*.otf' -Recurse | ForEach {
If (-not(Test-Path "C:\Windows\Fonts\$($_.Name)")) {
$Font = "$TempFolder\$($_.Name)"
- Copy font to local temporary folder
- Install font
- Delete temporary copy of font
}
}
Wie ändert man diesen Code oder gibt es eine Möglichkeit, neue Schriftarten in allen Benutzern in PowerShell zu installieren? Jede Hilfe wird geschätzt.
Please also mark the comments that contributed to the solution of the article
Content-Key: 1239581998
Url: https://administrator.de/contentid/1239581998
Printed on: March 29, 2023 at 08:03 o'clock
2 Comments
Latest comment

Hi,
warum rollst du deine Fonts nicht einfach via GPO aus?
Deine Lösung funktioniert ja nur für neu ausgerollte Systeme und wenn im laufenden Betrieb etwas dazu kommt, müsstest du ja das Skript überall noch mal laufen lassen ...
https://www.gruppenrichtlinien.de/artikel/fonts-schriftarten-verteilen
warum rollst du deine Fonts nicht einfach via GPO aus?
Deine Lösung funktioniert ja nur für neu ausgerollte Systeme und wenn im laufenden Betrieb etwas dazu kommt, müsstest du ja das Skript überall noch mal laufen lassen ...
https://www.gruppenrichtlinien.de/artikel/fonts-schriftarten-verteilen