Improve domain enrollment and desktop personalization
This commit is contained in:
@@ -37,6 +37,10 @@ $defaultProviderPolicyPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System'
|
||||
$interactiveLogonPolicyPath = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
|
||||
$accountPictureSourcePath = Join-Path $PublishPath 'branding\user.png'
|
||||
$accountPictureDirectory = Join-Path $env:ProgramData 'Microsoft\User Account Pictures'
|
||||
$welcomeWallpaperSourcePath = Join-Path $PublishPath 'branding\darkblue.jpg'
|
||||
$welcomeWallpaperScriptSourcePath = Join-Path $PublishPath 'branding\Set-SguWelcomeWallpaper.ps1'
|
||||
$welcomeFontsSourcePath = Join-Path $PublishPath 'branding\fonts'
|
||||
$welcomeWallpaperDirectory = Join-Path $env:ProgramData 'SGU\Branding'
|
||||
|
||||
$identity = [Security.Principal.WindowsIdentity]::GetCurrent()
|
||||
$principal = [Security.Principal.WindowsPrincipal]::new($identity)
|
||||
@@ -122,6 +126,25 @@ function Install-DefaultAccountPicture {
|
||||
return $true
|
||||
}
|
||||
|
||||
function Install-WelcomeWallpaperAssets {
|
||||
if (-not (Test-Path -LiteralPath $welcomeWallpaperSourcePath -PathType Leaf) -or
|
||||
-not (Test-Path -LiteralPath $welcomeWallpaperScriptSourcePath -PathType Leaf)) {
|
||||
return $false
|
||||
}
|
||||
|
||||
New-Item -ItemType Directory -Path $welcomeWallpaperDirectory -Force | Out-Null
|
||||
Copy-Item -LiteralPath $welcomeWallpaperSourcePath `
|
||||
-Destination (Join-Path $welcomeWallpaperDirectory 'darkblue.jpg') -Force
|
||||
Copy-Item -LiteralPath $welcomeWallpaperScriptSourcePath `
|
||||
-Destination (Join-Path $welcomeWallpaperDirectory 'Set-SguWelcomeWallpaper.ps1') -Force
|
||||
if (Test-Path -LiteralPath $welcomeFontsSourcePath -PathType Container) {
|
||||
$fontDestination = Join-Path $welcomeWallpaperDirectory 'fonts'
|
||||
New-Item -ItemType Directory -Path $fontDestination -Force | Out-Null
|
||||
Copy-Item -Path (Join-Path $welcomeFontsSourcePath '*') -Destination $fontDestination -Force
|
||||
}
|
||||
return $true
|
||||
}
|
||||
|
||||
if (-not (Test-DotNet10Runtime)) {
|
||||
if (-not $InstallDotNetRuntime) {
|
||||
throw 'Microsoft .NET 10 x64 runtime is required. Re-run with -InstallDotNetRuntime or install it first.'
|
||||
@@ -235,6 +258,7 @@ if ($PSCmdlet.ShouldProcess($installPath, 'Install and register the SGU Credenti
|
||||
# The domain GPO selects the Windows default account picture. Install its
|
||||
# branded bitmap during enrollment so no per-machine manual setup is needed.
|
||||
Install-DefaultAccountPicture -SourcePath $accountPictureSourcePath | Out-Null
|
||||
Install-WelcomeWallpaperAssets | Out-Null
|
||||
|
||||
New-Item -ItemType Directory -Path (Split-Path $settingsPath -Parent) -Force | Out-Null
|
||||
$settingsJson = @{
|
||||
@@ -324,4 +348,7 @@ catch {
|
||||
-LiteralPath $defaultProviderPolicyPath `
|
||||
-Name EnumerateLocalUsers) -eq 0
|
||||
SystemPasswordProviderPreserved = $true
|
||||
WelcomeWallpaperAssetsInstalled =
|
||||
(Test-Path -LiteralPath (Join-Path $welcomeWallpaperDirectory 'darkblue.jpg') -PathType Leaf) -and
|
||||
(Test-Path -LiteralPath (Join-Path $welcomeWallpaperDirectory 'Set-SguWelcomeWallpaper.ps1') -PathType Leaf)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user