feat(branding): OEM/lockscreen/desktop/bitlocker layer writers + tests
This commit is contained in:
@@ -20,3 +20,43 @@ Describe 'Set-SmRegValue' {
|
||||
(Get-ItemProperty "$script:root\A").Flag | Should -Be 1
|
||||
}
|
||||
}
|
||||
|
||||
Describe 'Branding layer writers' {
|
||||
BeforeAll {
|
||||
. "$PSScriptRoot\..\branding\lib\BrandingLayers.ps1"
|
||||
$script:sw = 'HKCU:\Software\SilverMetalTest\SW'
|
||||
$script:du = 'HKCU:\Software\SilverMetalTest\DU'
|
||||
$script:m = Get-Content "$PSScriptRoot\..\branding\branding.manifest.json" -Raw | ConvertFrom-Json
|
||||
}
|
||||
AfterAll {
|
||||
Remove-Item 'HKCU:\Software\SilverMetalTest' -Recurse -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
It 'writes OEM About info' {
|
||||
Set-OemInformation -SoftwareRoot $script:sw -Manifest $script:m -LogoPath 'C:\Windows\System32\oemlogo.bmp'
|
||||
$k = Get-ItemProperty "$script:sw\Microsoft\Windows\CurrentVersion\OEMInformation"
|
||||
$k.Manufacturer | Should -Be 'SilverLABS'
|
||||
$k.Model | Should -Be 'SilverMetal Windows'
|
||||
$k.SupportURL | Should -Be 'https://silverlabs.uk'
|
||||
$k.Logo | Should -Be 'C:\Windows\System32\oemlogo.bmp'
|
||||
}
|
||||
|
||||
It 'writes a locked lock-screen image' {
|
||||
Set-LockScreen -SoftwareRoot $script:sw -ImagePath 'C:\Windows\Web\Screen\SilverMetal\lockscreen.jpg' -Lock $true
|
||||
(Get-ItemProperty "$script:sw\Microsoft\Windows\CurrentVersion\PersonalizationCSP").LockScreenImageStatus | Should -Be 1
|
||||
(Get-ItemProperty "$script:sw\Policies\Microsoft\Windows\Personalization").NoChangingLockScreen | Should -Be 1
|
||||
}
|
||||
|
||||
It 'writes desktop wallpaper + dark mode into the default-user root' {
|
||||
Set-DesktopBranding -DefaultUserRoot $script:du -Manifest $script:m -WallpaperPath 'C:\Windows\Web\Wallpaper\SilverMetal\wallpaper.jpg'
|
||||
(Get-ItemProperty "$script:du\Control Panel\Desktop").WallPaper | Should -Be 'C:\Windows\Web\Wallpaper\SilverMetal\wallpaper.jpg'
|
||||
(Get-ItemProperty "$script:du\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize").AppsUseLightTheme | Should -Be 0
|
||||
}
|
||||
|
||||
It 'writes the BitLocker pre-boot recovery message policy' {
|
||||
Set-BitLockerPreboot -SoftwareRoot $script:sw -Manifest $script:m
|
||||
$k = Get-ItemProperty "$script:sw\Policies\Microsoft\FVE"
|
||||
$k.UseCustomRecoveryMessage | Should -Be 1
|
||||
$k.RecoveryMessage | Should -Be 'SilverMetal Windows. Locked out? silverlabs.uk'
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user