Private/Test-CustomNetworkAvailable.ps1
# Will be called in VM function Global:Test-CustomNetworkAvailable { [CmdletBinding()] <# .SYNOPSIS ... .DESCRIPTION ... #> param( ) process { $done = $false $success = $false $noOfTries = 0 while (-not($done)) { try { $noOfTries if (Test-NetConnection) { $done = $true $success = $true } else { Start-Sleep -Seconds 2 } } catch { # Do nothing } $noOfTries++ if ($noOfTries -ge 100) { # 50 tries max $done = $true } } if (-not($success)) { throw "Checked Test-NetConnection $noOfTries times, without success." } if ((Get-WmiObject win32_computersystem).partofdomain -eq $false) { Write-Host "Restarting Network Location Awareness-service..." Get-Service -Name NLASVC | Restart-Service Write-Host "Done." foreach ($netConProfile in Get-NetConnectionProfile | Where-Object { $_.InterfaceAlias -like 'Ethernet*' }) { if ($netConProfile.NetworkCategory -ne 'Private') { Write-Host "Chaning networtk to Private..." Set-NetConnectionProfile -Name $netConProfile.Name -NetworkCategory Private Write-Host "Done." Write-Host "Restarting Network Location Awareness-service..." Get-Service -Name NLASVC | Restart-Service Write-Host "Done." } } } <# foreach ($profile in Get-NetConnectionProfile | Where-Object {$_.InterfaceAlias -like 'Ethernet*'}){ Set-DnsClientServerAddress -InterfaceIndex $profile.InterfaceIndex -ServerAddresses ("10.0.0.4") # TODO: Change to DC IP } #> } } |