I've found this post useful however it didn't solve my problem as I was trying to run it from a script with the local admin account logged on. It does not seem to work as local admin (only when logged on as a domain user).
However I did finally manage to get a working solution and since it was so much trouble I thought I'd share it here so anyone else with this problem will have the answer right here. Both answers on the one page depending on your needs.
Note that higher up in the scipt (not included here as this is just the get-credentials section) powergui is installed and is a requirement for this code below (as well as the "Add-PSSnapin Quest.ActiveRoles.ADManagement" line). Not sure what powergui does that's different but no one else could tell me and it works.
Subsitute your own domain name in the "domain_name" sections.
$credential_ok = 0
while ($credential_ok -ne 1)
$credential = get-credential
$result = connect-qadservice -service *domain_name* -credential $credential
[string]$result_string = $result.domain
if ($result_string -eq "*domain_name*")
$credential_ok = 1
$username = $credential.username
$password = $credential.GetNetworkCredential().password
$date = get-date
Add-Content "c:\lbin\Install_log.txt" "Successfully authenticated XP script as $username $date"