Add Azure user roaming and reproducible Laboratorio wallpaper policy

This commit is contained in:
2026-09-17 16:40:44 -06:00
parent 7460f9316d
commit 7de6e2d867
18 changed files with 1258 additions and 6 deletions
+16
View File
@@ -21,6 +21,7 @@ param(
[securestring]$VpnClientCertificatePfxPassword,
[string]$VpnClientRootCertificatePath,
[string[]]$AzureNetworkPrefixes = @('10.77.0.0/16'),
[string]$FsLogixInstallerPath,
[switch]$PauseOnError,
[switch]$SkipRestart
)
@@ -551,6 +552,7 @@ $runtimeInstaller = Get-ChildItem (Join-Path $packageRoot 'payload\prerequisites
Select-Object -First 1
foreach ($requiredPath in @(
(Join-Path $scriptsRoot 'Enroll-SguDomainClient.ps1'),
(Join-Path $scriptsRoot 'Install-SguFsLogix.ps1'),
(Join-Path $scriptsRoot 'Install-SguRustDeskClient.ps1'),
(Join-Path $scriptsRoot 'Register-SguClientCertificate.ps1'),
(Join-Path $providerPublishPath 'SGU.CredentialProvider.comhost.dll'))) {
@@ -562,6 +564,18 @@ if (-not $runtimeInstaller) {
throw 'The offline Microsoft .NET 10 x64 runtime installer is missing from the client package.'
}
if (-not $PSCmdlet.ShouldProcess($env:COMPUTERNAME, "Enroll with SGU server $DomainControllerIPv4Address")) { return }
$fsLogixResult = $null
if ($FsLogixInstallerPath) {
$fsLogixResult = & (Join-Path $scriptsRoot 'Install-SguFsLogix.ps1') `
-InstallerPath $FsLogixInstallerPath
}
elseif (Get-Service -Name frxsvc -ErrorAction SilentlyContinue) {
$fsLogixResult = [pscustomobject]@{
Installed = $true
Changed = $false
RestartRequired = $false
}
}
if ($ClientIPv4Address) {
if (-not $NetworkInterfaceAlias -or $ConnectivityMode -eq 'AzureP2S') {
throw 'Explicit static IP setup requires -NetworkInterfaceAlias with Direct connectivity. Omit -ClientIPv4Address to preserve the current LAN/VPN configuration.'
@@ -1004,6 +1018,8 @@ if ($SkipRestart) {
ConnectivityMode = $ConnectivityMode
CompatibilityProfile = $CompatibilityProfile
VpnConnectionName = if ($ConnectivityMode -eq 'AzureP2S') { $VpnConnectionName } else { $null }
FsLogixInstalled = [bool]($fsLogixResult -and $fsLogixResult.Installed)
FsLogixChanged = [bool]($fsLogixResult -and $fsLogixResult.Changed)
RestartRequired = $true
RustDesk = if ($result) { $result.RustDesk } else { $null }
EnrollmentResult = $result