Error de Windows: fallo de autenticación del cliente WinRM
Descripción del error
Este error ocurre cuando el cliente de administración remota de Windows (WinRM) intenta establecer una conexión remota utilizando un método de autenticación que requiere credenciales completas del usuario, pero la configuración del sistema o la ejecución del comando no proporciona el nombre de usuario y la contraseña. Esto ocurre con frecuencia durante las sesiones remotas de PowerShell, los scripts automatizados o las tareas de administración del servidor. Incluso si cree que ha pasado las credenciales, la capa subyacente de WinRM rechaza la solicitud porque ve un objeto de credenciales vacío o parcial, o la política de autenticación actual restringe el paso de esas credenciales a un objetivo remoto.
Soluciones paso a paso
Corrección 1: Pasar explícitamente las credenciales en PowerShell
Si está ejecutando un script o un comando, no confíe en que sus credenciales de sesión de inicio de sesión actuales pasen automáticamente sin los parámetros adecuados.
- Abierto. PowerShell como Administrador.
- Guarde sus credenciales en una variable ejecutando:
$cred = Get-Credential - Introduzca su nombre de usuario de destino (por ejemplo,
Domain\Username- ¿ Qué ?ComputerName\Username) y contraseña en el mensaje. - Ejecute su comando remoto mientras adjunta explícitamente la variable de credenciales:
Invoke-Command -ComputerName "TARGET_COMPUTER" -ScriptBlock { Get-Process } -Credential $cred
Corrección 2: Habilitar y configurar los hosts de confianza del cliente WinRM
Si se está conectando a un equipo de grupo de trabajo o a un servidor fuera de su dominio local de Active Directory, la máquina cliente se negará a enviar credenciales a menos que el objetivo sea de confianza explícita.
- Haga clic derecho en el Start botón y seleccione Terminal (Admin) - ¿ Qué ? PowerShell (Admin).
- Vea su lista de hosts de confianza ejecutando:
Get-Item WSMan:\localhost\Client\TrustedHosts - Agregue su computadora remota específica a la lista de confianza:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "TARGET_COMPUTER_IP_OR_NAME" -Force(Utilizar también `)to trust all computers, though this is less secure:Conjunto de elementos WSMan:\localhost\Client\TrustedHosts -Value " " -Forza `) - Reinicie el servicio WinRM para aplicar los cambios:
Restart-Service WinRM
Corrección 3: Habilitar la autenticación básica en la configuración de WinRM
Si su script o aplicación se basa en la autenticación básica en lugar de Kerberos, tanto el cliente como el servidor deben tener la autenticación básica explícitamente habilitada.
- Abierto. PowerShell (Admin) en su máquina local.
- Compruebe si la autenticación básica está habilitada para el cliente:
Get-Item WSMan:\localhost\Client\Auth\Basic - Si está configurado en falso, habilitarlo ejecutando:
Set-Item WSMan:\localhost\Client\Auth\Basic -Value $true - Conecte a su servidor remoto y ejecute el comando correspondiente para asegurarse de que el servidor lo permita:
Set-Item WSMan:\localhost\Service\Auth\Basic -Value $true - Reinicie el servicio:
Restart-Service WinRM
Corrección 4: Modificar la política de filtro de cuenta localTokenFilter en el Registro
Cuando se conecta a una máquina remota utilizando una cuenta de administrador local en lugar de una cuenta de administrador de dominio, el Control de cuentas de usuario de Windows (UAC) elimina los privilegios administrativos al momento de la conexión remota.
- Inicie sesión en el... Target Remote Machine.
- Presione. Windows Key + R, tipo
regedit, y presiona Enter para abrir el Editor de Registro. - Navegue a la siguiente ruta:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - Haga clic derecho en el espacio en blanco en el panel derecho, seleccione New - ¿Qué quieres decir? DWORD (32-bit) Value.
- Nombre del nuevo valor:
LocalAccountTokenFilterPolicy - Haga doble clic.
LocalAccountTokenFilterPolicyy cambiar su Value data ¿ Por qué ?1. - Haga clic OK y reinicie la computadora remota para que los cambios entren en vigencia.
Puede haber algunos errores.. Learn Microsoft