невозможно автоматизировать процесс аутентификации с помощью PowerShell на Linux

невозможно автоматизировать процесс аутентификации с помощью PowerShell на Linux

На Debian 11 я установил PowerShell 7.3.0. Я проверяю, могу ли я запускать команды на удаленном компьютере Windows. Это простой пример для получения имени хоста удаленного компьютера.

#!/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 }

Проблема в том, что при запуске этого скрипта мне все равно предлагается ввести имя пользователя и пароль.

PowerShell credential request
Enter your credentials.
User:

Проблема не в учетных данных, потому что когда я ввожу их вручную, мне выдается имя хоста удаленного компьютера.

Я думаю, это как-то связано со способом, которым PowerShell в Linux считывает учетные данные.

Что можно сделать, чтобы скрипт не запрашивал имя пользователя/пароль?

правка: проблема была в опечатке

решение1

в сценарии была опечатка

решение2

Ваш скрипт в порядке. Измените переменную $username на $user

Я использовал "Invoke-VMSscript"

$пользователь = "root"

$password = "P@ssword"

$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force

$cred = Новый-Объект System.Management.Automation.PSCredential -ArgumentList $user, $secureStringPwd

Invoke-VMScript -VM My_VM -ScriptText "имя_хоста" -GuestCredential $cred -ScriptType Bash

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

Связанный контент