Cambiar las credenciales de un servicio en forma remota con Powershell

Basicamente nos debemos conectar con WMI al equipo remoto (o local) para realizar la tarea.
Luego cambiamos el usuario y la contraseña y reiniciamos el servicio…

Function Set-ServiceAcctCreds([string]$strCompName,[string]$strServiceName,
[string]$newAcct,[string]$newPass)
{
$filter = 'Name=' + "'" + $strServiceName + "'" + ''
$service = Get-WMIObject -ComputerName $strCompName -namespace "root\cimv2" -class 
Win32_Service -Filter $filter
$service.Change($null,$null,$null,$null,$null,$null,$newAcct,$newPass)
$service.StopService()
while ($service.Started){
sleep 2
$service = Get-WMIObject -ComputerName $strCompName -namespace "root\cimv2" -class 
Win32_Service -Filter $filter}
$service.StartService()
}