No se puede automatizar el proceso de autenticación con PowerShell en Linux

No se puede automatizar el proceso de autenticación con PowerShell en Linux

En Debian 11, instalé PowerShell 7.3.0. Estoy probando si puedo ejecutar comandos en una computadora remota con Windows. Este es un ejemplo sencillo para obtener el nombre de host de la computadora remota.

#!/usr/bin/env pwsh

$username = "Administrator"
$password = "passgoeshere"
$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $user, $secureStringPwd

Invoke-Command -ComputerName 192.168.xxx.xxx -Credential $cred -ScriptBlock { hostname }

Mi problema es que cuando ejecuto este script, todavía recibo un mensaje para ingresar un nombre de usuario y contraseña.

PowerShell credential request
Enter your credentials.
User:

No es un problema con las credenciales porque cuando las ingreso manualmente, me da el nombre de host de la computadora remota.

Creo que tiene algo que ver con la forma en que PowerShell en Linux lee las credenciales.

¿Qué puedo hacer para que el script no solicite usuario/contraseña?

editar: el problema fue un error tipográfico

Respuesta1

hubo un error tipográfico en el guión

Respuesta2

Tu guión está bien. Cambiar la variable $nombredeusuario a $usuario

Utilicé "Invoke-VMSscript"

$usuario = "raíz"

$contraseña = "P@contraseña"

$secureStringPwd = $contraseña | ConvertTo-SecureString -AsPlainText -Force

$cred = Nuevo-Objeto System.Management.Automation.PSCredential -ArgumentList $usuario, $secureStringPwd

Invocar-VMScript -VM My_VM -ScriptText "nombre de host" -GuestCredential $cred -ScriptType Bash

ScriptOutput
-----------------------------------------------------------------------------------------------------------------------|  My_VM
|  
-----------------------------------------------------------------------------------------------------------------------

información relacionada