No Debian 11, instalei o PowerShell 7.3.0. Estou testando se consigo executar comandos em um computador Windows remoto. Este é um exemplo simples para obter o nome do host do computador remoto.
#!/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 }
Meu problema é que, quando executo esse script, ainda recebo uma solicitação para inserir um nome de usuário e uma senha.
PowerShell credential request
Enter your credentials.
User:
Não é um problema com as credenciais porque quando eu as insiro manualmente, recebo o nome do host do computador remoto.
Acho que tem algo a ver com a forma como o PowerShell no Linux lê as credenciais.
O que posso fazer para que o script não solicite usuário/senha?
editar: o problema foi um erro de digitação
Responder1
houve um erro de digitação no script
Responder2
Seu script está ok. Altere a variável $username para $user
Eu usei "Invoke-VMSscript"
$usuário = "root"
$senha = "P@ssword"
$secureStringPwd = $senha | ConvertTo-SecureString -AsPlainText -Force
$cred = Novo objeto System.Management.Automation.PSCredential -ArgumentList $user, $secureStringPwd
Invoke-VMScript -VM My_VM -ScriptText "hostname" -GuestCredential $cred -ScriptType Bash
ScriptOutput
-----------------------------------------------------------------------------------------------------------------------| My_VM
|
-----------------------------------------------------------------------------------------------------------------------