Unify Windows client bootstrap and discover network paths

This commit is contained in:
2026-09-10 08:13:46 -06:00
parent 74235ec6f8
commit 7f8a9eed4e
14 changed files with 634 additions and 219 deletions
+8 -1
View File
@@ -22,6 +22,7 @@ param(
[string]$NewComputerName,
[string]$NetworkInterfaceAlias = 'Ethernet',
[string[]]$DomainDnsServerAddresses = @('192.168.50.10'),
[switch]$DomainDnsConfigured,
[ValidateSet('Direct', 'AzureP2S')]
[string]$ConnectivityMode = 'Direct',
[string]$RemoteDesktopPrincipal = 'LCI\SG-Laboratorio-Usuarios-RDP',
@@ -93,7 +94,10 @@ if ($PSCmdlet.ShouldProcess($env:COMPUTERNAME, 'Install and verify SGU before jo
# The broker uses a domain DNS name even before the machine joins the
# domain. Point at AD DNS first so the provider-first health check works on
# a completely clean Windows installation.
if ($ConnectivityMode -eq 'Direct') {
if ($DomainDnsConfigured) {
# The bootstrap configured domain-scoped NRPT, preserving Internet DNS.
}
elseif ($ConnectivityMode -eq 'Direct') {
Set-DnsClientServerAddress `
-InterfaceAlias $NetworkInterfaceAlias `
-ServerAddresses $DomainDnsServerAddresses
@@ -144,6 +148,9 @@ if ($PSCmdlet.ShouldProcess($env:COMPUTERNAME, 'Install and verify SGU before jo
$postJoinParameters.RustDeskServerAddress = $RustDeskServerAddress
}
$postJoin = & (Join-Path $PSScriptRoot 'Test-SguClientEnrollment.ps1') @postJoinParameters
if (-not $postJoin.IsValid) {
throw "SGU validation failed on the joined computer: $($postJoin.Issues -join ' ')"
}
$postJoin | Add-Member -NotePropertyName StandardLocalUser -NotePropertyValue $localStudentUser
$postJoin | Add-Member -NotePropertyName RustDesk -NotePropertyValue $rustDeskResult
return $postJoin