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 50) {
                # 50 tries max
                $done = $true
            } 
        }
        if (-not($success)) {
            throw "Checked Test-NetConnection 50 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
        }
        #>

    }
}