Function Get-GPUpdate($ComputerName){
    
    Write-Host "GPUPDATE on $ComputerName" -ForeGround Green

    #Looks on the machine and tries to access the group policy.
    try { 
        $oldPolicy = Get-ChildItem \\$ComputerName\c$\Windows\System32\GroupPolicy\Machine 
    } 
    catch{ 
        Write-Host "Failed to access group policy" -ForegroundColor Red 
        return
    }
    #Deletes the old group policy. Reasoning is that if we are running this there is something very wrong and we will be immediately re-applying it. 
    if(!$oldPolicy){
        Write-Host "No group policy found on machine" -ForegroundColor Red
    }
    else{
        Remove-Item $oldPolicy
    }
    #Attempts to remotely re-apply group policy. If this fails I let the user know so they can go to the computer and manually do it. 
    try {
        Invoke-Command -ComputerName $ComputerName -SessionOption (New-PSSessionOption -NoMachineProfile) -ScriptBlock {& gpupdate /force} 
    } 
    catch{ 
        Write-Host "Unable to reapply group policy" -ForegroundColor Red
        return
    }
    Write-Host 'GPUpdate Finished' -ForegroundColor Green         
}